CSS选择符的优先级决议了当多个款式规矩运用于同一个元素时,哪个规矩会收效。CSS选择符的优先级遵从以下规矩:
1. 类型选择符(Type selectors):如 `p`、`div` 等,优先级最低。2. 类选择符(Class selectors):如 `.example`,优先级高于类型选择符。3. ID选择符(ID selectors):如 `example`,优先级高于类选择符。4. 特点选择符(Attribute selectors):如 ``,优先级高于类选择符。5. 伪类选择符(Pseudoclass selectors):如 `:hover`、`:visited` 等,优先级高于类选择符。6. 伪元素选择符(Pseudoelement selectors):如 `::firstletter`、`::before` 等,优先级高于类选择符。7. 组合选择符(Combinator selectors):如 `div p`、`ul > li` 等,优先级高于类型选择符。8. 子孙选择符(Descendant selectors):如 `body p`,优先级高于类型选择符。9. 通配符选择符(Universal selectors):如 ``,优先级最低。
在核算选择符的优先级时,CSS运用了一种称为“特指度(Specificity)”的机制。特指度由四个部分组成,分别是:
1. 内联款式(Inline styles):特指度为 `1,0,0,0`。2. ID选择符:每个ID选择符添加 `0,1,0,0`。3. 类选择符、特点选择符和伪类选择符:每个选择符添加 `0,0,1,0`。4. 类型选择符和伪元素选择符:每个选择符添加 `0,0,0,1`。
例如,选择符 `example` 的特指度为 `0,1,0,0`,而选择符 `.example` 的特指度为 `0,0,1,0`。因而,当这两个选择符运用于同一个元素时,`example` 的款式规矩会收效。
需求留意的是,当特指度相一起,CSS会依照款式规矩的先后次序来决议哪个规矩收效。因而,在编写CSS时,需求合理安排款式规矩的次序,以保证款式能够依照预期的方法运用到元素上。
CSS选择符优先级详解
在网页规划中,CSS(层叠款式表)是不可或缺的东西之一。它答应开发者操控网页的布局、色彩、字体等款式。CSS选择器是CSS的中心组成部分,它决议了款式将运用于哪些元素。了解CSS选择符的优先级关于编写高效和可保护的CSS代码至关重要。本文将深入探讨CSS选择符的优先级,协助开发者更好地把握这一技术。
什么是CSS选择符优先级
CSS选择符优先级是指当多个选择器运用于同一个元素时,哪个选择器的款式会被优先运用。优先级由选择器的特殊性(Specificity)决议,特殊性越高,优先级越高。
选择器的特殊性
CSS选择器的特殊性由四个等级组成,每个等级代表一类选择器,每个等级的值为其所代表的选择器的个数乘以这一等级的权值。以下是四个等级及其权值:
1. 内联款式(inline styles):权值为1000。
2. ID选择器(ID selectors):权值为100。
3. 类选择器、特点选择器和伪类(class selectors, attribute selectors, and pseudo-classes):权值为10。
4. 元素和伪元素选择器(element selectors and pseudo-elements):权值为1。
核算特殊性
核算特殊性时,将每个等级的权值乘以该等级中呈现的选择器数量,然后将一切等级的值相加。例如,一个包含ID选择器和类选择器的复合选择器的特殊性核算如下:
- ID选择器(myid):100(权值) 1(数量)= 100
- 类选择器(.myclass):10(权值) 1(数量)= 10
- 总特殊性:100 10 = 110
优先级规矩
当多个选择器运用于同一个元素时,以下规矩用于确认优先级:
1. 特殊性高的选择器优先:假如两个选择器的特殊性不同,特殊性高的选择器将掩盖特殊性低的选择器。
2. 就近准则:假如两个选择器的特殊性相同,则最终界说的选择器将掩盖之前界说的选择器。
3. !important声明:运用`!important`能够掩盖任何其他款式,包含内联款式。
常见选择器优先级比较
- `myid`(ID选择器):100
- `.myclass`(类选择器):10
- `div.myclass`(复合选择器):11
- `divmyid`(复合选择器):101
- `divmyid.myclass`(复合选择器):111
- `divmyid .myclass`(复合选择器):111
防止优先级抵触
- 尽量运用简略的选择器。
- 防止运用过多的复合选择器。
- 运用注释明晰地阐明选择器的意图。
- 运用CSS预处理器(如Sass或Less)来办理杂乱的选择器。
CSS选择符的优先级是网页规划中一个重要的概念。经过了解选择器的特殊性及其核算方法,开发者能够编写出高效、可保护的CSS代码。遵从优先级规矩和防止优先级抵触,能够保证款式的一致性和网页的兼容性。期望本文能协助您更好地把握CSS选择符的优先级。
未经允许不得转载:全栈博客园 » css选择符优先级, 什么是CSS选择符优先级