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