일반 장면용 고급 CSS 선택기
CSS가 이상해.이것은 웹 개발자가 사용하는 다른 언어와 다르지만, 웹 사이트의 시각적 표시 (사용자와 상호작용하는 부분) 에 매우 중요하다.CSS의 가장 기본적인 형식은 매우 간단하다.예를 들어,
background-color: red
는 배경이 빨간색임을 나타냅니다.그러나 대형 CSS 코드 라이브러리를 연구한 사람은 누구나 곧 매우 복잡하고 곤혹스러워질 것이라고 알려줄 것이다.CSS Grid, BEM, Dart Sass, CSS에 관해서는 항상 새로운 것을 배워야 한다.너무 좋아요!새로운 내용을 보기보다는 CSS의 기본 구축 블록selector에 주목해야 한다.선택기와 어떻게 더 높은 방식으로 사용하는지 더 잘 이해하면 더 적은 코드와 더 깨끗한 CSS로 일반적인 장면을 해결할 수 있습니다.
무엇이 선택기입니까?
우리들은 우리의 관점이 일치한다는 것을 확보합시다.ACSS selector는 브라우저에서 속성을 적용하는 방법을 알려주는 요소입니다.그것들은 하나의 HTML 요소에만 적용되는 일반적인 요소일 수도 있고, 큰 그룹 요소에 적용될 수도 있고, 더욱 구체적일 수도 있다.5개types of selectors:
Simple selectors HTML 세션(예:
div
, #id
또는 .class
선택Combinator selectors "자"
p > div
또는 "인접 형제"div + div
같은 코드 관계 기반Pseudo-class selectors 요소의 특정 상태(예:
:hover
, :first-child
또는 :nth-of-type
선택Pseudo-elements selectors 요소의 특정 부분(예:
::after
, ::selection
또는 ::first-letter
을 선택합니다.단일 콜론::
를 사용합니다.Attribute selectors,
[class|="class-name"]
, [type="text"]
또는 [target]
등 특정 속성이 있는 요소를 선택합니다..class-name
는 일반 HTML 요소 선택기span
보다 구체적입니다.브라우저에서 적용할 CSS 스타일을 결정하는 방법을 다시 알고 싶다면CSS cascade기왕 우리가 선택기가 무엇인지 알게 된 이상, 우리는 그것들을 어떻게 효과적으로 사용하는지 깊이 있게 이해하자.당신은 잘 알려지지 않은 선택기를 이용할 수 있으며, 심지어는 그것들을 한데 조합하여 필요한 코드의 양을 줄일 수 있습니다!다음은 제가 CSS에서 사용하는 더 높은 선택기들입니다.
quiz.
: n 마지막 하위 항목(-n+2)
여러 CSS 위조 클래스 선택기는 관련 요소 또는 상위 요소의 하위 요소 그룹에서 요소를 선택할 수 있습니다.
<parent>
<child></child>
<child></child>
</parent>
、 :first-child
、 :nth-child
、 :nth-of-type
가 있습니다.숫자n
계수기, odd
또는 even
를 사용하여 이 선택기를 표현식으로 변환하면 더욱 강력해진다.너는 수학을 통해 한 그룹의 모든 원소를 선택할 수 있다.예를 들어 n
는 대수 표현식을 만드는 방법이다.따라서 (2n+4)
는 (2*n)+4
와 같고, 네 번째 요소부터 다른 각 요소를 선택합니다.(2*0)+4 = 4
(2*1)+4 = 6
(2*2)+4 = 8
(2*4)+4 = 10
이것은 많은 장면에서 매우 유용하다.예를 들어, 목록의 마지막 두 항목에만 스타일을 설정해야 했습니까?이 두 요소에 클래스를 추가하면 HTML과 CSS가 더 많이 생성되거나 다음 그림과 같이 단일 CSS 선택기를 사용할 수 있습니다..item:nth-last-child(-n+2)
이 선택기를 "선택.item
의 마지막 두 하위 항목"으로 읽을 수 있습니다어떻게 작동하는지 봅시다. -n+2
는 (-0+2)=2
또는 꼴찌 두 번째 항목, 그리고 (-1+2)=1
또는 마지막 항목, 그리고 (-2+2)=0
어떤 내용도 선택하지 않은 다음 (-3+2=-1)
다시 어떤 내용도 선택하지 않은 것으로 미루어 자원소의 총수를 얻습니다.n
앞의 마이너스 번호가 카운트다운을 하기 때문에 두 개의 원소만 선택했습니다.마지막 세 가지를 선택하고 싶다면, -n+3
이렇게 한다.HTML에 내용을 추가하지 않고도 이러한 요소를 선택할 수 있습니다!목록 계속 : 아니요(: 마지막 하위 항목)
마지막 예시를 이해하기 위해
:last-child
와 :not
선택기를 결합하여 사용할 수 있습니다.이것은 그룹의 마지막 요소가 서로 다른 스타일을 가진 상황을 해결하는 데 도움이 된다.사이트는 보통 항목 목록을 필요로 하는데, 목록 사이에 약간의 공백이 남아 있다.이 장면의 흔히 볼 수 있는 문제는 그룹의 마지막 항목 아래의 간격을 삭제해야 한다는 것이다.일반적으로 CSS를 사용할 때 가장 흔히 볼 수 있는 장면에 스타일을 설정한 다음에 더욱 구체적인 선택기를 사용하여 어떤 외곽 장면도 설명하면 자연스러움을 느낄 수 있다.그런 다음 더 특정한 선택기의 스타일은 더 일반적인 선택기의 스타일을 덮어씁니다.이 예제에서는 다음과 같은 결과를 초래할 수 있습니다.
.image {
margin-bottom: 2rem;
&:last-child {
margin-bottom: 0;
}
}
또는 HTML에 새로운 클래스를 추가하기 위해 
.image {
margin-bottom: 2rem;
}
.image--last {
margin-bottom: 0;
}
이 두 경로는 모두 일곱 줄 코드와 다시 쓰는 속성을 생성할 것이다.이것은 결코 무섭지 않지만, CSS를 프로그래밍 언어로 여기고 논리'프로그래밍'을 선택기에 넣으면 CSS를 다음과 같이 간소화할 수 있습니다..image:not(:last-child) {
margin-bottom: 2rem;
}
위의 선택기를 읽으십시오. "선택은 마지막 하위 그림이 아닙니다."세 줄 코드, 덮어쓰기 스타일이 없어요. 괜찮아요!경계 메타CSS 구조 요소: 서스펜션 + 동급 인접
서로 다른 장면의 정지 상태를 봅시다.서스펜션된 엔티티와 다른 엔티티를 조정해야 하는 경우가 있습니다.자바스크립트에서 이것은 상당히 간단하다. 왜냐하면 자바스크립트는 특정 요소 를 쉽게 검색할 수 있기 때문이다.그러나 HTML 구조가 올바르면 CSS만 필요합니다.
CSS를 사용하면 traversing the DOM 예를 들어,
.parent > .child
또는 .element + .general-sibling
를 사용하여 다른 요소에 대해 작업할 수 있습니다.CSS가 할 수 없는 일은 서스펜션 요소의 부모 요소인 요소를 겨냥하는 것입니다.다음은 CSS에서 사용할 수 있는 객체에 대한 설명도입니다.<div>
<a>
The element that is hovered
<span>This is a child, CSS can style this</span>
</a>
<span>This is a sibling, CSS can style this</span>
The "parent" <div> cannot be styled with CSS when the <a> is hovered
</div>
강력한 동급 선택기는 어떻게 사용합니까?두 개의 동급 요소가 있고 두 번째 요소의 스톱 상태 스타일을 설정해야 하는 경우 다음과 같이 할 수 있습니다.양식 필드에도 동급 선택기를 사용할 수 있습니다.
label:hover + input
선택기를 사용하여 <label>
요소와 상호작용하여 <input>
요소를 강조 표시할 수 있습니다. 이 요소는 <label>
이후의 형제입니다.조합 선택기 네 차례야
다음에 CSS가 저급한 언어라고 생각할 때 다시 생각해 보세요.그냥 달라요.이것은 사람을 낙담하게 할 수도 있고, 유익할 수도 있다. 이것은 당신의 관점에 달려 있다.CSS 사용을 포기하고 더 많은 HTML을 추가하거나 자바스크립트로 모든 것을 파괴하기 전에 사용할 수 있는 CSS 선택기와 속성을 보십시오.당신의 요구를 만족시킬 수 있는 방법이 있을 것입니다.
당신의 프런트엔드가 사용자의 CPU를 점용했습니까?
웹 전단이 갈수록 복잡해지면서 자원 탐욕의 기능이 브라우저에 대한 요구가 높아지고 있다.운영 중인 모든 사용자를 위해 클라이언트 CPU 사용량, 메모리 사용량 등을 모니터링하고 추적하는 데 관심이 있는 경우
try LogRocket.

디버그 웹 응용 프로그램 업데이트 방법 - LogRocket
게시물Start monitoring for free.이 먼저 Advanced CSS selectors for common scenarios에 올라왔다.
Reference
이 문제에 관하여(일반 장면용 고급 CSS 선택기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/bnevilleoneill/advanced-css-selectors-for-common-scenarios-3gl6텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)