好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

30个你必须记住的CSS选择符_html/css_WEB-ITnose

所以你学会了基础的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之间的不同点是后者只选择直接子代。例如,考虑如下的标记。

List Item Child List Item List Item List Item

查看更多关于30个你必须记住的CSS选择符_html/css_WEB-ITnose的详细内容...

  阅读:30次