코드/Html & CSS

Inherit, 자식 선택자.

Yeah-Panda 2011. 5. 28. 00:57
<ul id="navi">
            <li>DOCTYPE TYPE 을 선언한다</li>
            <li>XML namespace 를 선언한다</li>
            <li>컨텐츠 타입을 선언한다</li>

            <li>모든 태그는 꼭 닫는다
                <ul id="inner">
                    <li>Unity3D</li>
                    <li>Molehill</li>
                    <li>컨텐츠 타입을 선언한다</li>
                </ul>
            </li>

            <li>모든 태그는 계층에 맞게 감싸고 있어야한다</li>
            <li>인라인 태그는 블럭 레벨 태그를 감쌀수 없다</li>
            <li>태그는 소문자를 쓴다</li>
            <li>태그를 속성 바꿀경우  반드시 해당 속성은 그 값을 가져야한다</li>
            <li>/CSS 의 속성은 ";" 로 마무리한다</li>
</ul>


/*css*/

#navi
{
    font-size:0.8em;
    border:1px solid red;
}
#inner
{
    font-size:0.8em;
}

#inner 안의 폰트는 0.8 * 0.8 em 이 된다.

#navi 요소로부터 폰트 크기를 상속 받는다.


/*-----------------------------------*/
자식 선택자

#navi>li
{
    font-size:0.8em;
    font-weight:bold;
}

이 경우 ">" 자식 선택자가 직접 적인 자식만을 선택한다고 설명하지만
font 관련 속성은 li 안의 자식들에게도 그대로 상속되는 듯하다.

다른 예로

#navi>li:hover
{
    border:1px bold red;
}

해보면 #inner 는  border 가 적용되지 않는다.
책의 설명대로 ">"가 직접적인 자식에게만 적용시킨다.

자식 선택자는 직접적인 자식만을 타게팅 하지만
폰트 관련 속성은 직접적인 자식만이 아니라
그 자식의 자식까지 적용시키고 상속시키는 듯하다.

#navi>li { font-size:0.8em; }
#inner {font-size:0.8em;}

이런 식으로 하면 #navi li 내의 #inner 에 0.8em 을 상속받아
#inner 의 폰트크기는 더욱 작아진다.


'코드 > Html & CSS' 카테고리의 다른 글

text-indent 상속.  (0) 2011.06.04
상위 요소 값의 상속  (0) 2011.05.28
각종 속성 타겟팅.  (0) 2011.05.18
hover IE7 Bug  (0) 2011.05.17
유사 클래스 선택자  (0) 2011.05.11