其他分享
首页 > 其他分享> > CSS选择器与最佳实践

CSS选择器与最佳实践

作者:互联网

有效且结构良好的文档为我们要应用的样式提供了一个框架,但将CSS样式应用于特定的HTML元素,需要找到该元素。在CSS中,执行该任务的样式规则称为选择器。在本文,你可以学习到:

现在一起开启CSS的奇妙之旅吧!

1. CSS选择器

CSS选择器包括:

2. 层叠和特殊性

在一个样式表中,寻找同一个元素可能有多个规则。CSS通过层叠的过程处理这种冲突。层叠给每一个规则分配一个重要度,层叠的重要度次序如下:

然后,根据选择器的特殊性决定规则的次序。具有更特殊选择器的规则优先于具有一般选择器的规则。如果两个规则的特殊性相同,后定义的优先。

2.1 特殊性

规则的特殊性基于选择器的特殊性。为了计算规则的特殊性,给每种选择器都分配一个数值。然后,将规则的每个选择器的值加在一起,计算出规则的特殊性。选择器的特殊性分为四个等级:a,b,c,d

示例:

选择器 特殊性 以10为基数的特殊性
style="" 1,0,0,0 1000
container #nav {} 0,2,0,0 200
container .banner {} 0,1,1,0 110
p.commited {} 0,0,1,1 11
p {} 0,0,0,1 1

虽然这里给出了每个类型选择器的特殊性的数值,但是基本上,用style属性编写的规则总比其他任何规则特殊。具有ID选择器的规则比没有ID选择器的规则特殊,具有类选择器的规则比只有类型选择器的规则特殊。最后,当两个规则的特殊性相同,那么后定义的规则优先。

3. 继承

继承和层叠虽然初看上有点相似但是概念实际上不太一样。继承是一个比较容易理解的概念。应用样式的元素的后代会继承样式的某些属性,比如颜色和字号。如果将主体的字号设置为1.4em,那么页面上的所有内容应该也会继承这个字号(windows的IE在继承表格字号方面有问题,需要在表格单独设置字号或者指定表格应该继承字号)。

如果在主体上设置字号,我们会发现页面上的标题没有采用这个字号,这是由于浏览器的默认样式表设置了标题字号,直接应用于元素的任何样式表总会覆盖继承而来的样式(继承而来的样式的特殊性为空)。

继承这一特性十分有用,可以使得开发人员不必在元素的后代上添加相同的样式。正如恰当的使用层叠可以简化CSS,恰当的使用继承也可以减少代码中选择器的数量和复杂性。

4. CSS最佳实践

该小结将提供一些本人写CSS的最佳实践,觉得不错可以纳入自己的知识体系。

标签:特殊性,样式,元素,最佳,选择器,CSS,属性
来源: https://www.cnblogs.com/rainbowly/p/12835474.html