2011-01-13 6 views
1

왜 작동하지 않습니까? 저는 CSS를 처음 접했고 다음과 같은 이유가 작동하지 않는 이유를 모르겠습니다.CSS 클래스 선택기 문제

<div id="nav"> 
    <ul id="tabnav"> 
     <li class="selected"><a href="index.php">Tab One</a></li> 
     <li><a href="index2.html">Tab Two</a></li> 
     <li><a href="index3.html">Tab Three</a></li> 
     <li><a href="index4.html">Tab Four</a></li> 
    </ul> 
</div> 

CSS :

ul #tabnav li.selected { 
    background-color: #f00; 
} 

답변

6

아이 ul 요소의 같은 ID tabnav에 어떤 요소가 없기 때문에.

중 하나 ul

#tabnav li.selected { 
    background-color: #f00; 
} 

를 제거하거나 위의 응답하도록 ul

ul#tabnav li.selected { 
    background-color: #f00; 
} 
+0

"아니오 요소 ul''의 ID'tabnav'는 * 후손 *로 (어떤 수준에서)와. – BoltClock

+0

@Bolt : 나는 직접적인 * 아이라고하지만, 단지 아이라고 말하지는 않았다. * Descendant *는 실제로 더 나은 단어 선택 일 수도있다 . – BalusC

+0

결국, 모든 손주들은 그들의 아이들이다. 자신의 부모가 자신의 부모 인 부모와 \ * 머리가 폭발합니다 \ * – BoltClock

0

추가로 첨부 : 나는 CSS를 배경 색 처리하는 방법을 잘 몰라
: #의 F00을; 16 진수 값은 6 자릿수 여야합니다. (이 처음 나타내는 빨강, 다음 파란색과 녹색 마지막)

background-color:#FF0000; 
+1

세 자리 16 진수 값은 유효한 CSS이므로 두 배로 증가합니다. ir 6 자리 값이므로, # # rgb는 당신이 말하는 것처럼 # rrggbb가됩니다. – BoltClock

+0

확인을 해 주셔서 감사합니다. 그러나 그것은 여섯 자리 모두를 사용하는 것이 더 예쁘고 안전하다는 것을 믿습니다 :) – xaoax

+1

어쩌면 더 예쁘지 만 똑같이 안전합니다. – BoltClock

0

시도 :

<style type="text/css"> 
#nav #tabnav li.selected { 
    background-color: #f00; 
} 
</style> 
+0

ID가 유일하기 때문에 '# nav'를 앞에 붙일 필요는 없습니다. 어쨌든'# tabnav '중 하나만 있습니다. – BalusC