공부 중 메모/html,css,js

<6> CSS 선택자 - 3. 가상 클래스 - 3) 순서와 관련된 가상 클래스

라이피 (Lypi) 2021. 4. 2. 18:25
반응형

CSS 선택자

가상 클래스

순서와 관련된 가상 클래스


순서와 관련된 가상 클래스

':first-child', ':last-child', ':only-child' ':first-of-type', ':last-of-type', '

:: 지금 소개하는 가상 클래스들은 목록을 표현하는 태그와 잘 어울린다.

 

':first-child' (MDN)

:: 함께 사용한 선택자가 첫번째 자식일 때 함께 사용한 선택자를 선택한다.

:: 형제의 수는 상관없으므로 형제가 하나만 있을 때도 선택된다.

:: 초기 정의에서는 부모가 있는 요소만 선택되었지만 현재는 그런 제한이 없다.

-- 코드펜 사이트에서는 body 태그의 자식은 선택되지 않는 것 같다. 

ex) ul > li:first-child { style properties }

/* 이러면 li요소가 ul요소의 첫번째 자식일 때 스타일이 적용된다. */

 

':first-of-type' (MDN)

:: 함께 사용한 선택자와 일치하는 유형 중에서 제일 첫번째 요소를 선택한다.

:: 형제의 수는 상관없으므로 형제가 하나만 있을 때도 선택된다.

:: ':first-child'의 경우를 포함하고, 우선순위가 같으므로 둘을 같이 쓴다면 ':first-of-child'를 더 위에 써줘야한다.

 

See the Pen QWdpBqX by lypi (@Lypi) on CodePen.

 

':last-child' (MDN)

:: 함께 사용한 선택자가 마지막 자식일 때 함께 사용한 선택자를 선택한다.

:: 초기 정의에서는 부모가 있는 요소만 선택되었지만 현재는 그런 제한이 없다.

-- 코드펜 사이트에서는 body 태그의 자식은 선택되지 않는 것 같다.

ex) ul >  li:last-child { style properties }

/* 이러면 li요소가 ul요소의 마지막 자식일 때 스타일이 적용된다. */

 

':last-of-type' (MDN)

:: 함께 사용한 선택자와 일치하는 유형 중에서 제일 마지막 요소를 선택한다.

:: 형제의 수는 상관없으므로 형제가 하나만 있을 때도 선택된다.

:: ':last-child'의 경우를 포함하고, 우선순위가 같으므로 둘을 같이 쓴다면 ':last-of-child'를 더 위에 써줘야한다.

 

See the Pen YzNZjdj by lypi (@Lypi) on CodePen.

':only-child' (MDN)

:: 함께 사용한 선택자가 유일한 자식일 때 함께 사용한 선택자를 선택한다.

:: ':first-child:last-child'나 ':nth-child(1):nth-last-child(1)'와 같은 의미지만 ':only-child'만 쓰는게 우선순위가 더 낮다.

-- 가상 클래스만 있다면 수가 많은 쪽이 우선순위(명시도)가 더 높기 때문이다.

 

See the Pen :only-child by lypi (@Lypi) on CodePen.

 

더보기

썸네일용

반응형