programing

마지막 자식을 제외한 요소의 모든 자식을 선택하려면 어떻게 해야 합니까?

bestprogram 2023. 9. 19. 21:17

마지막 자식을 제외한 요소의 모든 자식을 선택하려면 어떻게 해야 합니까?

CSS3 셀렉터를 사용하여 마지막 자식을 제외한 모든 것을 어떻게 선택합니까?

예를 들어, 마지막 아이만 얻는 것은div:nth-last-child(1).

부정 의사 클래스를 의사 클래스에 대해 사용할 수 있습니다.CSS Selectors Level 3이 도입되어 IE8 이하에서는 작동하지 않습니다.

:not(:last-child) { /* styles */ }

단순화:

스타일을 모든 div에 적용하고 last-child로 마지막 div를 다시 초기화할 수 있습니다.

를 들어 CSS의 경우:

.yourclass{
    border: 1px solid blue;
}
.yourclass:last-child{
    border: 0;
}

또는 SCSS에서:

.yourclass{
    border: 1px solid rgba(255, 255, 255, 1);
    &:last-child{
        border: 0;
    }
}
  • 읽기 쉬운
  • 실행력이 빠른
  • 브라우저 호환(아직 CSS3이므로 IE9+)

편집: 한번에 쓴 글입니다.:not일부 브라우저에서는 다루지 않았습니다.오늘 저는 좀 더 균형을 잡게 될 것이고, 어떤 상황에서는 이 솔루션을 사용할 것입니다. 예를 들어, 기본 동작을 재정의하고자 할 때 말입니다.

Nick Craver의 솔루션은 효과가 있지만 다음을 사용할 수도 있습니다.

:nth-last-child(n+2) { /* Your code here */ }

CSS Tricks의 Chris Coyier는 이것을 위한 좋은 :n번째 테스터를 만들었습니다.

IE9이 오면 더 쉬워질 겁니다.그러나 대부분의 경우 문제를 필수 항목으로 전환할 수 있습니다. 첫째 자녀와 요소의 반대쪽(IE7+)을 스타일화할 수 있습니다.

css3에는 not selector가 있습니다.마지막 자식을 제외한 모든 자식을 선택하려면 내부에 :not()을 사용합니다.예를 들어, last li를 제외한 모든 줄을 선택하려면 다음 코드를 사용합니다.

ul li:not(:last-child){   }

nick craver's 솔루션과 selectivizr을 함께 사용하면 교차 브라우저 솔루션(IE6+)이 가능합니다.

부모의 네스팅 내에서 사용하는 경우 가장 쉬운 방법은 다음과 같습니다.

&:not(:last-child){
  ....
}

예:

.row {  //parent
 ...
 ...
 ...
 &:not(:last-child){
  ....
 }
}

마지막에서 요소를 찾으려면 사용합니다.

<style>
ul li:not(:last-child){ color:#a94442}  
</style>

보다 일반적인 셀렉터를 사용하면 아래와 같이 이를 달성할 수 있습니다.

& > *:not(:last-child) {/* styles here */}

<div class="parent">
  <div>Child one</div>
  <div>Child two</div>
</div>

그러면 부모의 모든 자식 DIV가 캡처됩니다.

Nick Craver의 솔루션은 제게 필요한 것을 제공했지만 CSS-in-JS를 사용하는 사람들에게 명확하게 해주었습니다.

const styles = {
  yourClass: {
    /* Styles for all elements with this class */
    '&:not(:last-child)': {
      /* Styles for all EXCEPT the last element with this class */
    },
  },
};
.nav-menu li:not(:last-child){
    // write some style here
}

이 코드는 모두에게 스타일을 적용해야 합니다.

  • 막둥이를 제외하고

  • 언급URL : https://stackoverflow.com/questions/2573544/how-can-i-select-all-children-of-an-element-except-the-last-child