[css3] :nth-child() 가상 클래스
가상 클래스 중 구조적 가상 클래스를 배워보고 있습니다.
구조적 가상 클래스란 문서 구조에서 위치나, 다른 요소와의 관계에 따라 요소를 선택
하게 해주는 선택자입니다.
:nth-child() 가상 클래스는 문서 구조에서 부모의 n번째 위치에 있는 자식을 선택합니다.
n값에는 키워드, 정수, 공식(an+b 같은)이 들어갈 수 있습니다.
1. 키워드 - even은 짝수값, odd는 홀수값
예> li:nth-child(even){color:red;}
목록 중 2,4,6 등의 짝수 값이 빨간색으로 칠해짐
2. 정수- 양수, 음수, 또는 0 가능
예> li:nth-child(5){color:red;}
목록 중 5번째만 빨간색으로 칠해짐
3. 공식 (예: an+b)
a와 b는 정수값(양수, 음수, 0)이 들어가야 하며
a는 선택할 숫자 간격
b는 선택할 시작 숫자값을 씁니다.
n이 의미하는 것은 카운트라고 생각하시면 됩니다. 첫번째는 0으로 시작하여 1, 2, 3 순으로 카운트 됨.
또한 an+b는 (a x n)+b 라고 풀어 이해하시면 됩니다.
:nth-child(2n+2) 라고 했을 때 컴퓨터는 아래와 같이 계산합니다.
(2 x 0 ) + 2 = 2
(2 x 1 ) + 2 = 4
(2 x 2 ) + 2 = 6
(2 x 3 ) + 2 = 8
그래서 결과적으로 2, 4, 6, 8번째 요소가 선택 됩니다.
:nth-child(2n+2) 는 :nth-child(even) 또는 :nth-child(2n)이라고 해도 같은 결과가 나옵니다.
(2 x 0 ) = 0 /* 선택할 요소가 없음*/
(2 x 1 ) = 2
(2 x 2 ) = 4
(2 x 3 ) = 6
(2 x 4 ) = 8
이번엔 음수값을 적용한 예입니다
:nth-child(2n-1)
(5 x 0 ) - 1 = -1 /* 선택할 요소가 없음*/
(5 x 1 ) - 1 = 4
(5 x 2 ) - 1 = 9
(5 x 3 ) - 1 = 14
-1, 4, 9, 14번째 요소가 선택 됨
:nth-child(-n+3) /*a가 1이거나 -1일 때 숫자 생략 가능*/
(-0 ) + 3 = 3
(-1 ) + 3 = 2
(-2 ) + 3 = 1
(-3 ) + 3 = 0 /* 선택할 요소가 없음*/
3, 2, 1, 0번째 요소가 선택 됨
sitepoint 사이트에 들어가면, 어떤 공식을 사용해야 몇번째 요소를 선택할지 도표가
잘 나와 있습니다.
▶브라우저 지원 정보 : ie9.0+, chrome 4.0+, firefox 3.5+, safari 3.2+, opera 9.6+
▶html/css 작성 예
html
<li>하나</li>
<li>둘</li>
<li>셋</li>
<li>넷</li>
<li>다섯</li>
<li>여섯</li>
<li>일곱</li>
<li>여덟</li>
</ol>
css
▶실행화면
'css' 카테고리의 다른 글
[css3] :nth-last-child 가상 클래스 (0) | 2014.11.13 |
---|---|
[css3] :nth-of-type() 가상 클래스 (3) | 2014.11.12 |
[css3] :root 가상 클래스 (0) | 2014.11.10 |
[css2] :lang 가상 클래스 (0) | 2014.11.07 |
[css3] :checked 가상 클래스 (0) | 2014.11.06 |
댓글