css权威指南阅读笔记(三)--结构和层叠
来源:互联网 发布:美工注意事项 编辑:程序博客网 时间:2024/05/17 01:22
本章主要介绍CSS中结构和层叠有关的知识点。
特殊性
所谓特殊性,就是当一个元素匹配多个规则的时候,只会有一种规则会使其呈现出我们希望的样式,那么我们如何知道哪一个规则会胜出呢?答案就在于每个选择器的特殊性。如果有一个元素有一个或者多个冲突的属性声明,那么拥有最高特殊性的声明会胜出。 选择器的特殊性由选择器本身的组件确定。特殊值表述为四个部分,如0,0,0,0。一个选择器的具体特殊性如下确定: 1.对于选择器中给定的各个ID属性值,加0,1,0,0; 2.对于选择器中给定的各个类属性值,属性选择或伪类,加0,0,1,0; 3.对于选择器中给定的各个元素和伪元素,加0,0,0,1; 4.结合符和通配选择器对特殊性没有任何贡献;
总体来说,通配选择器的特殊性 < ID和属性选择器的特殊性 < 内联样式特殊性 < !important
继承
我们上面所说的特殊性对于理解如何向文档应用声明很重要,同样,还有一个重要的概念,叫做继承。
基于继承机制,样式不仅应用到指定的元素,还会应用到它的后代元素。需要注意的是,继承对于无序列表也适用。继承的值没有特殊性,甚至连0都没有。因此需要尽量避免不加区别的使用通配选择器。(因为其可以匹配任何元素,所以通配选择器往往有一种短路继承的效果。)
层叠
如果两个特殊性相等的规则同时应用到同一个元素的话,会出现什么效果呢?
首先,我们来看一下css2.1中有关层叠的规则:
1.找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器;
2.按显式权重对应用到该元素的所有声明排序。
3.按特殊性对应用到给定元素的所有声明排序。一个声明在样式表或文档中出现的越晚,其权重越大。
按权重和来源排序
在声明权重方面需要考虑5级:
读者的重要声明>创作人员的重要声明>创作人员的正常声明>读者的正常声明>用户代理声明
按特殊性排序
如果向一个元素应用多个彼此冲突的声明,而且他们的权重相同啊,则按照特殊性排序,最特殊的声明最优先;
按顺序排序
如果两个规则的权重,来源,特殊性全部相同的话,那么在样式表中后出现的样式胜出。
推荐的链接样式顺序:LVHA(LOVE-HA)
L:link();
V:visited();
H:hover();
A:active();
0 0
- css权威指南阅读笔记(三)--结构和层叠
- CSS权威指南学习笔记--Chapter3结构和层叠
- css权威指南学习之结构和层叠
- CSS权威指南-层叠
- CSS 权威指南 阅读笔记
- 《css权威指南》——笔记3(结构与层叠)
- CSS学习笔记(三):继承、结构和层叠
- CSS权威指南阅读笔记(四)--值和单位
- CSS权威指南阅读笔记(十)--浮动和定位
- 《CSS权威指南》学习记录——特殊性和层叠
- 《HTTP权威指南》阅读笔记(三)
- MongoDB权威指南--阅读笔记(三)
- {{CSS}}结构和层叠
- CSS结构和层叠
- CSS基础知识总结--《CSS权威指南》阅读笔记(一)
- CSS基础知识总结--《CSS权威指南》阅读笔记(二)
- CSS权威指南 笔记
- 《css权威指南》笔记
- 思想建设是获得巨大成功的前提条件
- 什么是 Event Loop?
- MFC--父与子对话框之间的传值
- JavaScript的正则表达式实现邮箱校验
- Android Volley基本使用
- css权威指南阅读笔记(三)--结构和层叠
- 将数组中0元素所在的行和列都置为0
- FPGA使用有符号数signed
- js之简易网页时钟
- Spark与Pandas中DataFrame的详细对比
- openwrt编译日志——1、序
- js逗号表达式
- Mybatis的通用Mapper和分页MapperHelper
- 带通配符的字符串匹配:动态规划