We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
CSS解析模型大概分为两部分:
首先,接收所有可以接收的css样式,包括内联(属性样式)、内部样式(style标签)、引用样式(link标签)、浏览器默认样式、浏览器用户自定义样式表。 然后,把所有CSS样式分解成最小单元,比如:
下面的样式: .oneClass .twoClass { width: 100px; margin: 20px; } 会被分解如下: .oneClass{ width: 100px; } .oneClass{ margin-left: 20px; } .oneClass{ margin-right: 20px; } .oneClass{ margin-top: 20px; } .oneClass{ margin-bottom: 20px; } .twoClass{ width: 100px; } .twoClass{ margin-left: 20px; } .twoClass{ margin-right: 20px; } .twoClass{ margin-top: 20px; } .twoClass{ margin-bottom: 20px; }
这里很简单,只有如下的规则:
1. 重要声明,!important,放在声明的最后 2. 内联样式特殊性,1, 0, 0, 0 3. ID选择器,0, 1, 0, 0 4. 类选择器、属性选择器或伪类,0, 0, 1, 0 5. 元素选择器和伪元素,0, 0, 0, 1
1. 为目标元素直接添加样式,永远比继承样式的优先级高,无视优先级的遗传规则 2. 无视DOM树中的距离 3. 使用更具体的规则。在您选择的元素之前,增加一个或多个其他元素,使选择器变得更加具体,并获得更高的优先级
通过第一步确定页面上所有元素的样式后,开始计算并确定每个元素的样式,包括位置、大小、颜色等等,内容规则都很多。
《CSS 权威指南》
优先级
The text was updated successfully, but these errors were encountered:
No branches or pull requests
概述
CSS解析模型大概分为两部分:
1. 收集分解CSS样式
首先,接收所有可以接收的css样式,包括内联(属性样式)、内部样式(style标签)、引用样式(link标签)、浏览器默认样式、浏览器用户自定义样式表。
然后,把所有CSS样式分解成最小单元,比如:
2. 权重确定CSS样式
这里很简单,只有如下的规则:
3. 应用CSS样式
通过第一步确定页面上所有元素的样式后,开始计算并确定每个元素的样式,包括位置、大小、颜色等等,内容规则都很多。
参考
书
《CSS 权威指南》
链接
优先级
The text was updated successfully, but these errors were encountered: