读书频道 > 网站 > 网页设计 > CSS插件工具箱
2.3.3 样式表选择器
12-07-08    叶孤城
收藏    我要投稿   

本文所属图书 > CSS插件工具箱

本书提供了100个现成的CSS类和类组合,可直接将它们用于你的Web页面中。如果你不熟悉CSS,也不用担心自己将使用并不理解的插件,因为它们都有详细的文档说明,文档中清楚地介绍了它们的功能,一般还有关于如何进...立即去当当网订购
选择要样式化的元素也有3种不同的方法。按优先级从高到低排列,分别是:
 
1. 通过单独的ID引用
 
2. 在组中通过类引用
 
3. 通过元素标记引用(例如,<p>或<b>)
 
根据受规则影响的元素数目和类型处理选择器,这与前两种解决冲突的方法稍有不同。这是因为规则不必一次只应用于一种选择器,可以引用许多不同的选择器。因此,需要有一种方法确定可包含任意选择器组合的规则的优先级。具体做法是计算每个规则的特殊性(specificity),将它们按最大作用范围到最小作用范围的顺序排列。
 
计算特殊性的方法是根据之前编号列表中的选择器类型创建一个由3部分构成的数字。这个复合数一开始为[0,0,0]。当处理规则时,引用ID的每个选择器将第1个数加1,因此复合数变成[1,0,0]。假定特定规则中有3个ID引用,那么复合数变成[3,0,0]。
 
然后,引用类的选择器的数目放在这个复合数的第二部分。假定有5个,那结果为[3,5,0]。
 
最后,计算引用元素标记的选择器数目,将这个数字放在复合数的最后一个部分。假定有两个,则最终的复合数变成[3,5,2]。这是比较规则的特殊性所必需的。
 
如果复合数中每个类型的数目为9或更少,可将其直接转换成十进制数,这里这个数是352。数字较低的规则的优先级较低,数字较高的规则的优先级较高。如果两个规则的值相等,则最近应用的规则胜出
 
 
 
1. 使用不同的数字基数
 
如果数字中类型多于9个,那么必须采用更大的数字基数。例如,复合数[11,7,19]不能通过简单地连接3个部分转换成十进制数。而是将数字转换成采用更高基数的数字,如基数20(如果类型超过19,则基数更高)。
 
按如下所示对3个部分分别做乘法并将结果相加(从最右边的数字开始,然后依次计算左边的数字):
 
20×19 = 380
 
20×20×7 = 2800
 
20×20×20×11 = 88000
 
总和(十进制) = 91180
 
在左边,用使用的基数替换值20,如果一组规则的所有复合数都从这一基数转换为十进制的,就很容易确定特殊性,从而得到每个规则的优先级。所幸的是,所有这些都由CSS处理器完成,但知道其工作原理可以帮助我们正确创建规则和了解其优先级。
点击复制链接 与好友分享!回本站首页
分享到: 更多
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:1.3 功能
下一篇:1.5 小结
相关文章
图文推荐
JavaScript网页动画设
1.9 响应式
1.8 登陆页式
1.7 主题式
排行
热门
文章
下载
读书

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 红黑联盟--致力于做最好的IT技术学习网站