有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢?
because specificity
CSS
的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。
规则:
HTML标签的权重是1
Class 的权重是10
Id 的权重是100
内敛的权重是1000
例如:
p
的权重是
1
,“
div em{}
”的权重是
1+1=2
,“
strong
.demo{}
”的权重是
10+1=11
“
#test
.red{}
”的权重是
100+10 =
110
Specificity hierarchy
权重等级
1. 内敛: Inline styles (Presence of style in document) An inline style lives within your XHTML document. It is attached directly to the element to be styled. E.g. <h1 style="color: #fff;">
2. ID 选择器 IDs (# of ID selectors)
ID is an identifier for your page elements, such as #div .
3. 类选择器 Classes, attributes and pseudo-classes (# of class selectors).
This group includes .classes , [attributes] and pseudo-classes such as :hover , :focus etc.
4. 元素与伪元素 Elements and pseudo-elements (# of Element (type) selectors).
Including for instance :before and :after .
例子:
<style>
span{font-size:40px;color:green}
.test{color:red}
</style>
</head>
<span class="test">CSS权重测试</span>
Span
权重是
1
,
.test
的权重为
10
,所以“
CSS权重测试
”的
显示颜色
是
red
注意:如果
CSS
选择符权重相同,那么样式会遵循就近原则,哪个选择符最后定义,就采用哪个选择符的样式。
参考资料:
http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/
分享到:
相关推荐
5. **CSS优先级 (CSS Specificity)**:CSS优先级决定了哪些样式会被应用。具体顺序为:行内样式 > ID选择器 > 类/属性/伪类选择器 > 元素选择器。当多个规则冲突时,优先级高的规则生效。理解这个概念有助于控制样式...
CSS 特异性图这个项目的目标是采用提供的 CSS,分析选择器,并生成一个特异性图(基于)。 正因为我们都在同一页面上,我会经常拼错“特殊性”,而且经常不纠正它。 想要演示? 。要求PHP 您想要分析的一些 CSS...
css 特异性css-specificity 接受一个字符串并告诉您其中每个选择器的 CSS 特异性。用法 var cssspecificity = require('css-specificity');var s = cssspecificity('#id .class:hover a, .nav:hover a');console.log...
4. **层叠**: 当多个CSS规则应用于同一个元素时,通过层叠顺序(CSS specificity)确定最终样式。 综上所述,“CSS+DIV基础”涵盖了从基本样式到高级布局技术的广泛内容,对于初学者来说是一份宝贵的参考资料。通过...
此外,理解层叠顺序(CSS Specificity)对于确保正确应用样式至关重要。 接着,我们将看到如何使用CSS3的边框半径(border-radius)来创建圆角效果,这对于构建灯塔的圆形底部或窗户等部分非常有用。同时,通过使用...
当多个规则应用到同一元素时,会根据层叠权重(CSS Specificity)确定最终样式。同时,子元素可以继承父元素的某些样式。 4. **布局技术** - **盒模型**:CSS中的每个元素都可以看作一个盒子,包括margin、border...
CSS 的specificity 特性或称非凡性,它是一个衡量CSS值优先级的一个标准,既然作为标准,就具有一套相关的判定规定及计算方式,specificity用一个四位的数 字串(CSS2是三位)来表示,更像四个级别,值从左到右,左面...
var specificity = require ( 'css-specificity' ) var calc = specificity . calc ( '.class, p.sel:after' ) var winner = specificity . vs ( '.class' , 'p.sel:after' ) console . log ( calc ) /* [ { '...
css-specificity-map 映射 CSS 特异性数据以创建。 基于经验。 交互式示例。安装使用节点使用 npm 安装: npm install css-specificity-map包括在您的代码中: var cssSpecificityMap = require('css-specificity-...
PostCSS增加特异性 插件可以增加选择器的特殊性。 处理您无法删除CSS(主要是从第三方),。 安装 npm install postcss-...// Process your CSS with postcss-increase-specificity var output = postcss ( [ inc
specificity-graph, 为你的CSS生成交互式的特殊图形 特性图( 用于 CSS ) 作者: 。 生成一个交互式线条图,显示样式表中的特殊性。 使用 d3,css解析器,和特异性。安装npm install specificity-graph用法specifity-...
4. **CSS Specificity**:CSS选择器的特异性决定了哪些样式会胜出。了解具体性权重的计算,以及如何避免不必要的复杂性,对于编写高效且易于维护的代码是必要的。 5. **Faux Columns**:这是一种利用背景图像模拟多...
理解选择器的特性和层叠上下文(CSS Specificity)对于调试和优化样式非常重要。 5. **响应式设计**:随着移动设备的普及,响应式设计成为必需。使用媒体查询@media,可以为不同设备和屏幕尺寸定义不同的样式,确保...
这一计算方式通常被称为“CSS Specificity”(CSS特异性),用于确定在有多个样式规则适用于同一元素时,哪一条规则将最终生效。 CSS2将选择器分为四个类别,我们可以将这些类别理解为一个四位数的组合,例如CSS{a,...
特异性 通过可视化探索您的 CSS! 特异性分析您的 CSS 文件,收集有关选择器特异性的信息并将其保存为配置文件。 您可以使用不同的报告来浏览这些配置文件或编写自己的报告。使用安装: $ npm install -g node-...
The problems of CSS at scale - specificity, the cascade and styles intrinsically tied to element structure. The shortfalls of conventional approaches to scaling CSS. The ECSS methodology and the ...
10. **选择器层级与层叠规则**:CSS3中的层叠上下文(cascading)和优先级规则(specificity)帮助开发者管理样式冲突,确保样式按预期应用。 总的来说,CSS3不仅增强了网页的视觉效果,还简化了布局和动画的设计,...
选择器的特殊性(Specificity)是CSS优先级的一种度量,用于解决当多个选择器同时影响同一个元素时的样式冲突问题。本文将深入探讨CSS选择器特殊性,并介绍一种可视化方法来帮助开发者更有效地理解和管理CSS样式。 ...
8. **样式层叠**:CSS的名称中“级联”意味着样式可以从多个来源继承和合并,优先级根据来源的特异性(specificity)和权重决定,理解这一点能避免样式冲突。 9. **预处理器与后处理器**:如Sass(SCSS)和Less是...