文档详情

个你必须记住的CSS选择符.doc

发布:2017-01-31约1.07万字共24页下载文档
文本预览下载声明
所以你学会了基础的id,类和后代选择符,然后你就一直用它们了吗?如果是这样,你丢失了(css的)巨大的灵活性。在本文中提到的很多选择器属于CSS3规范的一部分,因此,只有在现代浏览器中才可使用。 1.* * { margin: 0; padding: 0; } 对于初学者,在学习更多高级选择器之前,最先了解的选择器。 星号选择器将匹配页面里的每一个元素。很多开发者使用这个技巧将外边距和内边距重置为零。虽然在快速测试时这确实很好用,但我建议你永远不要再生产代码中使用它。它给浏览器带来大量不必要的负担。 * 也能作为子选择符使用。 #container * { border: 1px solid black; } 这将匹配#container div的每一个后代元素。再次强调,尽量不要使用这种技术。 查看例子 兼容性 IE6+ Firefox Chrome Safari Opera 2.#X #container { width: 960px; margin: auto; } 井号前缀允许我们选择id。这是最常见的用法,不过应该慎重使用ID选择器。 反复问自己:我一定需要id来匹配要选择的元素吗? id选择符是唯一的,不允许重复使用。如果可能的话,先尝试使用一个标签名称,一个新的HTML5元素,甚至是一个伪类。 查看例子 兼容性 IE6+ Firefox Chrome Safari Opera 3. .X .error { color: red; } 现在介绍的是类选择符。id和类的不同之处在于后者可以多次使用。当你想给一组元素应用样式的时候可以使用类选择符。另外, 当你紧想给特殊元素应用样式的时候才使用id。 查看例子 兼容性 IE6+ Firefox Chrome Safari Opera 4. X Y li a { text-decoration: none; } ?下一个最常用的选择符是后代选择符。当你需要给你的选择符增加特殊性的时候你可以使用。例如,如果你只想匹配无序列表下的锚元素?此时后代选择符派上用场。 小贴士——如果你的选择符看起来像这样 X Y Z A B.error,那你就错了。时刻问自己使用这高的权重是否有必要。 查看例子 兼容性 IE6+ Firefox Chrome Safari Opera ?5. X a { color: red; } ul { margin-left: 0; } 如果你想匹配页面上的所有的元素,根据他们的类型,而不是id或类名?显而易见,使用类型选择符。如果你需要选择所有的无序列表,请使用ul {}。 查看例子 兼容性 IE6+ Firefox Chrome Safari Opera 6. X:visited and X:link a:link { color: red; } a:visted { color: purple; } 我们使用:link 伪类选择符选择所有已经被点击过的锚标签。 此外,我们也有:visited伪类选择符, 正如你期望的,允许我们仅给页面上被点击过的或被访问过的锚标签应用样式。 查看例子 兼容性 IE7+ Firefox Chrome Safari Opera 7. X + Y ul + p { color: red; } 这被称作相邻选择符。它将只选择紧贴在X元素之后Y元素。上面的例子,仅每一个ul之后的第一个段落元素的文本为红色。 查看例子 兼容性 IE7+ Firefox Chrome Safari Opera 8. X Y div#container ul { border: 1px solid black; } X Y和X Y之间的不同点是后者只选择直接子代。例如,考虑如下的标记。 div id=container ul li List Item ul li Child /li /ul /li li List Item /li li List Item /li li List Item /li /ul /div 选择符#container ul将只选择id为container的div的直接子代ul。它不匹配更深层的li的子代的ul。 因此,使用子代选择符有性能上的优势。事实上,这同样适用于基于css选择器的javascript引擎。 查看例子 兼容性 IE7+ Fi
显示全部
相似文档