层叠机制

在css里,同一个样式的不同属性值应用于同一个标签则会产生声明冲突。

例如:

一旦出现声明冲突,浏览器会自动生成层叠机制。

层叠的过程

1.比较优先级

声明的优先级主要是看来源及重要性

来源:作者样式表、浏览器默认的样式表、用户样式表

按优先级从高到低:用户样式表>作者样式表>浏览器样式表

重要性:判断声明块里是否有!important,如果有,则表示是重要声明,将应用这个样式,反之为普通声明

当优先级为同级的时候则进入比较特殊性

2.比较特殊性

优先级:行内选择器>ID选择器>类选择器>元素选择器>通配符选择器

表示选择范围大的优先级低,选择范围小的优先级高

具体规则:每一个冲突的声明,会生成4个数字a,b,c,d

a:若声明为行内选择器,则为1,反之为0;

b:规则中id选择器的个数

c:规则中类选择器、伪类选择器的个数

d:规则中元素选择器、伪元素选择器的个数

通配符的特殊值为0

比较特殊性a越大,特殊性越高,若a相同,则比较b,比较特殊性b越大,特殊性越高,若b相同,则比较c,依次类推;

若特数值都相同,则比较源次性

3.比较源次性

最后出现的声明获胜,其他的全部淘汰

如上图,由于优先级、特殊性都相同,则比较源次性,由于第二个color为最后声明,所以采用color:green这个样式;

原文地址:https://www.cnblogs.com/xsg1/p/9217586.html

时间: 2024-10-10 06:45:58

层叠机制的相关文章

css层叠机制说明

css通过建立与文档的关联而实施效果.文档结构重要性不言而喻,对于建立良好的内容索引.提高可维护性.较好的可访问性:另,利于css选择器选择.继承机制. 概要地讲,层叠机制是处理对文档上应用样式时解决该应用何种样式的解决方案,涉及到重要性.特殊性.来源.顺序的问题.下面分别说明. 概要      每条声明都是有特殊性的,其特殊性由选择器组件确定.用户代理会将特殊性赋予给每条声明.由于存在选择器分组和声明分组的情况,用户代理会将它们解组出来的.然后对应个元素可能会有多条规则.这时,若都是针对相同的

css层叠机制的比较、盒模型、继承规则

层叠机制 不同样式应用在同一标签时,会产生声明块冲突,这时就会自动触发层叠机制 1.比较优先权(平级时进行下一项比较) 2.比较特殊性(平级时进行下一项比较) 3.比较源层次 比较优先级 来源优先顺序:1.用户样式表 2.作者样式表 3.浏览器样式表 若属性值后跟上 !important ,则表示一条重要声明.否则为普通元素 例:color:red !impertant; 重要声明 比较特殊性(特指值.特指度) 每一个声明都有一个特殊性(适用范围越大,特殊性越低) 行内样式>ID选择器>类选择

CSS层叠机制

先简单提提CSS引入方式吧: 1. 行间样式:将样式属性作为元素的style属性的值2. 内联样式:在head标签内的style标签内写入样式3. 外部link引入:利用link标签引入外部的样式表4. import引入:在style标签内通过@import方法引入外部的样式表 层叠(cascading)机制 一个元素的某个特定的样式属性(比如a标签的字体大小)可能来自于行间的style属性,内联样式表,外部引入的样式表,浏览器自定义的样式(UA),或是继承自父元素的样式,但是最终选择其中一个来

层叠机制--比较特殊性

总体规则 每一个声明都有一个特殊性,当发生冲突时,特殊性高的会保留,低的会淘汰,一个声明的特殊性取决于规则适用范围的大小,规则适用范围越大特殊越低,适用范围越小特殊性越高(html范围最大) 特殊性从高到低 :行内样式>ID选择器>类选择器>元素选择器>通配符选择器 具体规则 在比较特殊性时,每一个冲突的声明,会生成4个数字(abcd)来比较特殊性,a越大特殊性越高,若a相同则比较b,以此类推. a:若声明是行内样式,则为1否则为0 b:规则中ID选择器的个数 c;规则中类选择器.

CSS层叠概述

什么是层叠: 层叠是一种机制,用于解决CSS声明冲突(多个相同的CSS声明属性,应用到一个元素上) 层叠的过程 层叠机制 比较优先级 比较特殊性 比较优先级 每一个声明都有一个优先级: 当发生冲突时,优先级高的会保留,优先级低的会被淘汰: 一个声明的优先级,与它的来源和重要性有关 解释来源 作者样式表 浏览器默认样式表 用户样式表 解释重要性 若属性值后面跟 !important,则表示一条重要声明:否则,表示普通声明. 示例: color:red;普通声明 color:red  !import

CSS学习摘要-层叠和继承

当有多个选择器作用在一个元素上时,哪个规则最终会应用到元素上? 其实这是通过层叠机制来控制的,这也和样式继承(元素从其父元素那里获得属性值)有关. 元素的最终样式可以在多个地方定义,它们以复杂的形式相互影响.这些复杂的相互作用使CSS变得非常强大,但也使其非常难于调试和理解. 层叠 CSS 是 Cascading Style Sheets 的缩写,这暗示层叠(cascade)的概念是很重要的.在最基本的层面上,它表明CSS规则的顺序很重要,但它比那更复杂.什么选择器在层叠中胜出取决于三个因素(这

CSS层叠和继承

层叠 当有声明冲突的时候,浏览器会自动触发层叠机制 声明冲突:同一样式,不同的值,给同一个标签就会产生声明冲突 层叠的过程 1.比较优先级 一个声明的优先级,与它的来源和重要性有关 来源:1.作者(开发者)样式表:外部样式表:内部样式表:行内样式表 2.浏览器默认样式表 3.用户样式表 优先级排序:用户样式表>作者样式表>浏览器样式表 重要性:若属性值后跟上!important,则表示一条重要声明,否则,表示普通声明 例:color:red:普通声明 color:red !important:

层叠的过程与盒子的组成

一.层叠 1. 什么是层叠? 层叠是一种机制,用于解决CSS声明冲突.即**当出现声明冲突时,浏览器自动触发层叠机制**. 层叠的过程(3步走,通过后只剩1条样式): ①比较优先级:一个声明的优先级,与它的**来源**和**重要性**有关. 按来源分为:作者样式表.浏览器默认样式表.用户样式表. 若属性值后面跟上 !important ,则表示一条重要声明,否则表示普通声明. 例如:color:red; 普通声明 color: red!important; 重要声明 ②比较特殊性:  一个声明的

CSS中常用的五种编辑属性

CSS 字体属性 属性  描述 font 简写属性.作用是把所有针对字体的属性设置在一个声明中. font-family 设置字体系列. font-size 设置字体的尺寸. font-style 设置字体风格. font-variant 以小型大写字体或者正常字体显示文本. font-weight 设置字体的粗细. CSS 文本属性 属性 描述 color 设置文本颜色 direction 设置文本方向. line-height 设置行高. letter-spacing 设置字符间距. tex