'virtual class'에 해당되는 글 1건

  1. 2010.04.02 가상클래스와 가상요소 선택자 4
2010. 4. 2. 18:13
정적인 가상 class

링크에 대한 가상 class

:link
아직 방문하지않은 앵커
:visited
이미 방문한 앵커

예) a:visited { color : red;}
      방문한 앵커의 색깔을 red로 바꾼다.

첫번째 자식 요소에 대한 가상 class

:first-child
아무 element나 첫 번재 자식관계에 해당하는 element를 선택한다

예) <div>
      <a href="#">click</a>
      </div>
      
      a:first-child { font-weight : bold;}
      아무 element(여기선 div element)의 첫번째 자식 관계인 element가 a 이므로 해당하는 a의 글씨에 bold효과를 준다.

언어를 이용한 가상 class

:lang
사용된 언어를 기반으로 선택한다. 특정속성 선택자인 |= 와 같은방식으로 동작한다.

예) *:lang(en) { font-style : italic;}
      영어로 작성된 모든 elemenet에 italic효과를 준다.


동적인 가상 class

:focus
현재 focus를 갖고있는 element
:hover
마우스 포인터가 위치해 있는 element
:active
입력에 의해 active된 element

예) a:link { color : navy;}
      방문하지않은 앵커의 색깔을 navy로 한다.
      a:visited { color : gray;}
      방문한 앵커의 색깔을 gray로 한다.
      a:hover { color : red;}
      현재 마우스포인터가 올라와있는 앵커의 색깔을 red로 바꾼다.
      a:active { color : yellow;}
      입력에 의해 앵커가 활성화된경우 앵커의 색깔을 yellow로 바꾼다.

      처음 두개는 정적인 가상 class를 이용했고, 아래 두가지는 동적인 가상 class를 이용한다.
      요즘의 추세는 [link-visited-focus-hover-active] 순으로 바뀌고 있지만,
      일반적으로는 [link-visited-hover-active]순서로 사용하는것을 권장한다.

동적인 가상 class는 element의 종류에 상관없이 적용된다.

가상 class는 조합해서 사용이 가능하다

예) a:link:hover { color : maroon;}
      방문하지 않은 링크 위에 마우스가 위치할때 색깔을 maroon으로 변경한다.

가상요소 선택자

첫 번째 글자에 스타일 지정

:first-letter

예) p:first-letter { color : white;}
      p태그의 첫 번째 글자색을 white로 바꾼다.

첫 번째 줄에 스타일 적용하기

:first-line

예) p:first-line { color : red;}
      p태그의 첫 번째 줄 글자색을 red로 바꾼다.

:first-letter와 :first-line은 inline elemement에선 사용이 불가능하고 block element에만 사용할수 있다.

또한 모든 가상요소는 선택자의 끝에서만 사용될 수 있다.

예) p:first-line strong
      가상요소가 끝에오지않고 앞에왔으므로 유효하지 않다.

요소의 앞,뒤에 스타일 적용하기

:before
element앞에 효과를 적용한다.
:after
element뒤에 효과를 적용한다.

예) h1:before { content : "*"}
      h1앞에 *을 덧붙인다.
      h1:after { content : "!"}
      h1뒤에 !을 덧붙인다.

'공부 > Cascading Style Sheets' 카테고리의 다른 글

상속  (0) 2010.04.03
구체성  (0) 2010.04.03
문서 구조 선택자  (0) 2010.04.02
선택자  (0) 2010.04.02
대체 스타일시트  (0) 2010.04.02
Posted by terebyte