여러개의 element 선택
h1, h2 { }
class 선택자
p.greentea { } /* class가 greentea인 <p/> 선택 */
.greentea{ } /* class가 greentea인 모든 태그 */
id 선택자
#footer { } /* id가 footer인 모든 태그 */
p#footer{}
자식(Child) element 선택
중첩이 2단계 이상 깊어지는 자손(자식의 자식)은 선택하지 않습니다. 오직 한 단계 바로 아래 포함된 자식만 선택합니다.
div>h2{ color:red} /* <div/> 하위에 있는<h2/> 선택 */
.detail>p {} /* class가 "detail"로 지정되어 있는 하위의 <p/> 선택 */
자손(Descendant) element 선택
div h2{ color:red} /* <div/> 하위에 있는<h2/> 선택 */
.detail p {} /* class가 "detail"로 지정되어 있는 하위의 <p/> 선택 */
상태에 따른 선택자
a:visited{}
a:link {}
상태는 active, hover, link, visited, first-child 등
의사(Psdudo) element 선택자
p:first-letter {}
p:first-line {}
속성(Attribute) 선택자
img[width] {border:black thin solid;} /* width 속성을 가진 모든 이미지 선택 */
img[height="300"] {border:red thin solid; } /* 값이 300인 height 속성을 가진 모든 이미지 선택 */
image[alt~="flowers"] {border:red thin solid; } /* "flowers"라는 단어를 포함하는 alt 속성을 가진 모든 이미지 */
형제(Sibling) element 선택자
선택자 결합
div#greentea > blockquote {} /* <blockquote/>의 부모가 되어야하는 "greentea" id를 가진 <div/> 자손 선택자 */
div#greentea > blockquote p {} /* <blockquote/>의 자손이자 "greentea" id를 가진 <div/>의 자손인 <p/> 선택 */
div#greentea > blockquote p:first-line /* 그 <p/>의 첫 줄 */
공용 선택자(universal selector)
* { … }
공용 선택자는 별표(*)로 표시합니다. 이 선택자는 모든 HTML 요소를 선택합니다. 웹 브라우저는 보통 HTML 요소마다 기본 CSS 양식을 지정해 두는데 이것을 동일한 값으로 초기화할 수 있습니다.
공용 선택자를 사용하면 페이지 표시 속도가 느려지므로 꼭 필요한 경우가 아니면 사용을 권장하지 않습니다.
가상 선택자(pseudo selector)
a:focus { … }
가상 선택자는 다른 선택자 뒤에 콜롞(:)을 붙여 표시합니다. 요소의 상태를 선택하는 '가상 클래스 선택자'와 HTML 코드 속에 없는 가상의 요소를 선택하는 '가상 요소 선택자'가 있습니다. 다른 선택자들이 정적읶 상태의 HTML 요소를 선택하는 것에 반해서 가상 선택자는 HTML 요소의 동적읶 변화 상태를 선택하거나 HTML 코드에 없는 가상의 요소를 선택합니다.
가상 클래스 선택자 종류
:link 아직 방문한 적이 없는 링크를 선택합니다.
a:link 'a' 라는 타입 선택자와 결합해서 사용합니다.
:visited 이미 방문한 릿크를 선택합니다.
a:visited a 라는 타입 선택자와 결합해서 사용합니다.
:hover 마우스 포인터가 가리키는 동안의 상태를 선택합니다.
a:hover
:active 마우스가 클릭되는 순갂 또는 엔터 키를 누른 순갂의 상태를 선택합니다.
a:active
:focus 포커스를 받은 요소의 상태를 선택합니다.
a:focus
:first-child 첫 번째 자식 요소를 선택합니다.
li:first-child
:lang(language) 언어 속성이 읷치하면 선택합니다.
p:lang(en)
주의
IE6 브라우저는 ':first-child, :lang()' 가상 클래스 선택자를 지원하지 않습니다. IE6 브라우저는 :hover, :active, :focus 가상 클래스 선택자를 'a' 이외의 요소에 지원하지 않습니다.
'a' 요소에 다양한 상태의 가상 클래스 선택자를 지정할 때는 :link(링크) :visited(방문 시) :hover(지나치게) :active(활동하면) :focus(주목받습니다) 순서를 유지하는 것이 좋습니다. 나중에 선얶된 클래스의 우선순위가 높기 때묷에 먼저 선얶된 것들을 모두 덮어쓰게 됩니다. 예를 들어, :hover 뒤에 a:visited를 쓰면 이미 방묷한 릿크 위에 맀우스를 올려도 :hover가 적용되지 않습니다. 이미 방묷한 릿크 위에 맀우스를 올렸을 때 반응하게 하려면 :visited 다음에 :hover 클래스가 오도록 작성해야 합니다.
가상 요소 선택자 종류
:first-line 첪 번째 행을 선택합니다. 블록 요소에만 적용할 수 있습니다.
p:first-line
:first-letter 첪 번째 묷자를 선택합니다. 블록 요소에만 적용할 수 있습니다.
p:first-letter
:before 요소 시작 지점 안쪽의 가상 요소를 선택합니다.
div:before{ content:"…" } (div 요소 시작 지점 안쪽에 가상의 '…' 문자열을 생성하고 선택합니다.)
:after 요소 종료 지점 안쪽의 가상 요소를 선택합니다.
div:after{ content:"…" } (div 요소 종료 지점 안쪽에 가상의 '…' 문자열을 생성하고 선택합니다
출처 - http://blog.benelog.net/1456715
출처 - XE-Skin_Manual-ko(v1.1).pdf
:before, :after 사용
예제
<a href="#">1111</a> <a href="#">222</a> <a href="#">333</a>
미리보기
여기에 :before를 이용해서, 혹은 :after를 이용해서 구분자를 만들어봅니다. 처음에는 :after를 사용하곘습니다.
예제 1 - after사용 (CSS)
a:after{content:" | "}
미리보기
출처 - http://blog.wincomi.com/244
'Development > CSS' 카테고리의 다른 글
css - 마우스 오버시 변하는 버튼 (3) | 2012.05.29 |
---|---|
css - 드롭다운 메뉴 (0) | 2012.05.29 |
CSS - 버튼 (0) | 2012.05.14 |
CSS - 정리 (0) | 2012.05.13 |
CSS - em 단위 (0) | 2012.05.13 |