转载自52css.com, 之前对嵌套的css选择器一直存在疑惑,摸不准是平行 还是 父子关系,现在总算明白,凡是逗号间隔的是平行关系,如, h1, h2, h3, h4, h5, h6 { margin: 0.3em 0; } 空格间隔的是父子关系,如, #featuredDefault table{ font-size:1.5em; } CSS的选择器有多种多样,随着CSS版本的升级,也有新的CSS选择器出来,我们的选择器功能也将会更加的强大。但我们目前的一些浏览器对某一些选择器的支持还不是很好。我们就从最基础的开始讲起吧。 类型选择器是用来定位特定的HTML类型元素,如标题h1、段落p、锚元素a、内联元素span、无序列表ul、列表项li等等。这样的选择器除了叫类型选择器以外,还有另外两个名字元素选择器与简单选择器。看下面的例子。 Example Source Code [www.52css.com] h1 {color:#f60;} p {line-height:1.2em;} a {text-decoration:underline;} span {font-size:10px;} 这些都是最典型的类型选择器,它的特点就在于定位非常简单而明确。但是如果文档结构比较复杂。不同部位的段落p、锚a可能是不同的样式定义,我们该如何准确的命中目标呢?我们在后面的内容将会逐一进行说明。接下来的知识也可以搞定上面的这个小问题。 后代选择器是用来定位特定元素的后代。它的语法很简单,两个选择器之间加一个空格就行了。例如上面的问题,我们作一个设置。 Example Source Code [www.52css.com] h1 {color:#f60;} p {line-height:1.2em;} a {text-decoration:underline;} span {font-size:10px;} li a {text-decoration:none;} 这样设置以后。在列表以外的锚会有下划线,而列表项的锚就不会带有下划线了。在前面的文章中,我们特别讲到了如何为id及class类命名,或许也存在着滥用id与class的习惯。希望精确的控制代码,但有时候是非常不必要的。我们完全可以通过选择器轻松的命中目标。看下面的例子。 Example Source Code [www.52css.com] #main a {color:#000;} #sider a {color:#fff;} <div id=”main”> <a href=”http://www.52css.com/”>52CSS.com</a> </div> <div id=”sider”> <a href=”http://www.52css.com/”>52CSS.com</a> </div> 同样的锚链接元素,我们可以定义成两种不同的色彩,我们完全没有必要为它们各指定一个id或class。我们在实际操作中会发现一个有趣的现象,很多同样的元素处于页面中,只是位置不同罢了。我们通常都能通过给他们的父元素定义一个id。然后再用后代选择器,就可以准确的命中目标了。 [...]