selector ( 선택자 )
복합 선택자 ?
div p { ... }
div > p { ... }
h1, h2, p { ... }
가상 선택자
:hover
: 마우스 커서가 요소 위에 있을 때 적용할 스타일:active
: 사용자가 요소를 클릭 등 활성화 했을 때 적용할 스타일:focus
: 요소가 포커스를 받았을 때 적용할 스타일( input 커서 적용 상태 등 )::before
, ::after
:: 요소의 ‘앞’, ‘뒤’에 컨텐츠 추가::first-letter
, ::last-letter
, ::first-child
, ::last-child
...p::last-child
선택자 결합하기
A.className
#id.className
, tag.className
...A *
div *
.className *
A + B
A ~ B
:only-chlid
p:only-child
: 부모 요소에 p
태그 하나만 들어있을 경우 선택ul li:only-child
: 부모 요소인 ul
태그 안에 자식 요소로 li
가 한개만 들어있을 경우 선택:last-child
p:last-child
: 부모 요소의 마지막 자식이 p
태그인 경우 선택:nth-child(A)
p:nth-child(8)
: 8번째 자식이 p
태그인 경우 선택div p:nth-child(2)
: 부모 요소가 div
이고 p
태그가 2번째 자식인 경우 모두 선택:nth-last-child(A)
p:nth-last-child(2)
: 뒤에서 두번째인 자식요소 p
선택:first-of-type
p:first-of-type
: 동일한 부모 요소 내 첫 번째 p
선택:nth-of-type(A)
li:nth-of-type(even)
: li
중 짝수 번째 요소 모두 선택li:nth-of-type(odd)
: li
중 홀수 번째 요소 모두 선택:nth-of-type(An+B)
li:nth-of-type(2n+1)
: 부모 요소 내에서 모든 li 요소 중 홀수 번째 요소 선택( 1, 3, 5... )li:nth-of-type(3n+2)
: 부모 요소 내에서 모든 li 요소 중 세 번째마다 시작하는 패턴을 선택( 2, 5, 8...):only-of-type
p:only-of-child
: 해당 부모 요소에 p
태그가 하나뿐일 때 선택:last-of-child
p span:last-of-type
: p
태그 내 마지막 span
태그 선택:empty
div:empty
: 비어있는 div
선택:not(X)
:not(#fancy)
: id
가 'fancy'가 아닌 모든 요소 선택div:not(:first-child)
: 첫번째 자식이 아닌 모든 div
선택:not(.big, .medium)
: class
가 'big' 이나 'medium'이 아닌 요소 모두 선택[attribute^='value']
^
: 캐럿 기호, 문자열의 시작을 의미[attribute$="value"]
$
: 문자열의 끝을 의미X:visited
, X:link
X:visited
: 가상 클래스, 클릭했었거나 방문했던 페이지X:link
: 클릭 하기 . 전상태의 앵커 태그 전체 선택X:checked