~= 는 단어를 기준으로 = 는 문자열을 기준으로 판단을 하게 됩니다. 예를 들어서 위와 같은 상황에서 paullabs 를 어떻게 인식할까요?
~= 은 단어를 기준으로 paullab 와 paullabs 를 다르다고 인식하고 선택을 못하게 되고 = 은 문자열을 기준으로 paullabs 안에 paullab 가 포함되기 때문에 선택을 합니다.
.foo:first-child : class="foo"인 ****엘리먼트 중 첫번째 자식인 엘리먼트를 선택합니다.
.foo:last-child : class="foo"인 ****엘리먼트 중 마지막 자식인 엘리먼트를 선택합니다.
.foo:nth-child(3) : class="foo"인 엘리먼트 중 3번째 자식인 엘리먼트를 선택합니다.
1) .foo:nth-child(odd) : class="foo"인 엘리먼트 중 홀수 번째 자식인 엘리먼트를 모두 선택합니다.
2) .foo:nth-child(even) : class="foo"인 엘리먼트 중 짝수 번째 자식인 엘리먼트를 모두 선택합니다.
3) .foo:nth-child(n) : class="foo"인 엘리먼트 중 n번째 자식인 엘리먼트를 모두 선택합니다. n은 0부터 1씩 증가합니다. (0, 1, 2, 3, 4, 5 … )
4) .foo:nth-child(3n) : class="foo"인 엘리먼트 중 3번째 자식마다 모두 선택합니다. (3x0, 3x1, 3x2, 3x3, 3x4, 3x5 … )
5) .foo:nth-child(3n+1) : class="foo"인 엘리먼트 중 3n+1번째 자식인 엘리먼트를 모두 선택합니다. (3x0+1, 3x1+1, 3x2+1, 3x3+1, 3x4+1, 3x5+1 … )
a:visited : 방문한 적이 있는 링크를 선택합니다.