2010-02-10 159 views
1

我有一些CSS是这样的:CSS选择器不工作

#navBar ul 
{ 
    list-style-type:none; 
    margin:0; 
    padding:0; 
} 

#navBar ul li 
{ 
    border: thin dashed #ffff00; 
    display:inline; 
    margin:0; 
    padding:0; 
} 

#navbar ul li a 
{ 
    border: 1px solid #707070; 
    text-decoration: none; 
    padding: 0; 
    margin: 0; 
    background-color: #909090; 
} 

和HTML这样的:没有被应用

<div id="navBar"> 
     <ul> 
     <li><a href="#" >Home</a></li> 
     <li><a href="#" >Services</a></li> 
     <li><a href="#" >About us</a></li> 
     <li><a href="#" >Blog</a></li> 
     <li><a href="#" >Contact</a></li> 
     </ul> 
    </div> 

出于某种原因,#navbar UL里的一部分,但#navbar ul li & #navbar ul are。我相信它也曾经工作过。它通过W3C验证。这是明显的/愚蠢的?

回答

7

按照CSS2 spec的选择是不区分HTML文档中敏感的,但是是区分大小写的XHTML文档。你的第三条规则拼写为navbar,这与实际的元素名称navBar不同。

此外,一些浏览器实际上有一个错误,并将选择器视为区分大小写,即使文档是以HTML的形式提供的。

5

我不知道,但尝试是区分大小写的,写

#navBar ul li a 
+0

+1。在几秒钟之内击败我! –

+0

是的,它发生了:D –

+1

我会给Franci一个更完整的答案,但谢谢。 +1 –