html/css层叠

一.定义:层叠是一种机制,用于解决CSS声明冲突,层叠的整个过程,是浏览器根据规则自动完成的。

二.层叠的过程:

1.比较优先级: 一个声明的优先级,与它的来源和重要性有关

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

重要性:属性值后加!important表示重要声明

  1. 浏览器默认样式表中的声明
  2. 用户样式表中的普通声明
  3. 作者样式表中的普通声明
  4. 作者样式表中的重要声明
  5. 用户样式表中的重要声明

  (优先级由低到高排列)

2.比较特殊性:

每一个声明都有一个特殊性

当发生冲突时,特殊性高的会保留,特殊性低的会被淘汰

一个声明的特殊性,取决于规则适用范围的大小

规则适用范围越大,特殊性越低,适用范围越小,特殊性越高。

行内样式> ID选择器 > 类选择器 > 元素选择器 > 通配符选择器(特殊性由高到低)

最终算出color:green获胜。

权重值:

!important      ----> Infinity

行间样式         ----> 1000

id              ----> 100

class|属性|伪类  ----> 10

标签|伪元素      ----> 1

3、比较源次序:最后出现的声明胜出,其他的全部淘汰。

经过这三个步骤,仅会有一个声明最终胜出,其他的全部被淘汰

通配符           ----> 0

权重值高的特殊性越高。

示例:

最终结果:

原文地址:https://www.cnblogs.com/xmbg/p/11487556.html

时间: 2024-11-13 00:37:59

html/css层叠的相关文章

css层叠顺序

css层叠规则及各个选择器的特殊性. 1.有!important的规则的权重要高于没有的,有!important的规则优先级最高. 2.按特殊性对规则进行排序,各个选择器的特殊性为: 内联样式(即在html中声明的css)的特殊性为:1000 ID选择器的特殊性为:100 类属性值(class).伪类(:not).属性选择器([id=""])的特殊性为:10 各个元素和伪元素(:first-letter,first-line,before,after) 特殊性为:1 通配选择器(*)的

css层叠规则(层叠样式表)

CSS层叠规则是: 1.找出所有相关的规则,这些规则都包含与一个给定元素匹配的选择器. 2.按权重(!important)和来源对应用到给定元素的所有声明进行排序. 3.按特殊性对应用到给定元素的所有声明进行排序,有较高特殊性的元素权重要大于有较低特殊性的元素,0特殊性比无特殊性要强(继承). 4.按出现顺序对应用到给定元素的所有声明进行排序,后面出现的声明权重要大于前面出现的声明,即后定义的样式会覆盖前面定义的样式.(适用于特殊性一样的时候) 解读: 一.权重和来源 来源: 1.创作人员(开发

css层叠上下文

css层叠 stacking order #div{        background:#ddd;        border:1px solid red;        /*z-index: -1;*/        /*display:block*/        /*float: right;*/        /*display: inline-block;*/        /*z-index: auto;*/        /*z-index: 1;*/        }     

CSS 层叠规则

CSS 规则特殊性计算 特殊性 选择器的特殊性由选择器本身的组件确定.特殊性值表述为4个部分:0,0,0,0. 对于选择器中给定的各个id属性值,加0,1,0,0. 对于选择中给定的各个类属性值,属性选择或伪类,加0,0,1,0. 对于选择器中给定的各个元素和伪元素,加0,0,0,1. 结合符合通配符选择器对特殊性没有任何贡献 比较规则 因为值是从左向右排序的,所有1,0,0,0大于以0开头的所有特殊值,而不论后面的数是什么.比如,0,0,1,0比值0,0,0,13更高. 通配符的特殊性为0,0

CSS 层叠 学习笔记

看了一天控制器和视图头都大了,于是去微博上逛了逛,看到了一个讨论CSS权重的博客,于是把书翻了翻,对CSS中的层叠做一个笔记. 先从一个实例说起: 小明写了一个列表,并给里面的列表项添加了一些样式: #list li{ color: #000; } <ul id="list"> <li>Javascript</li> <li>HTML</li> <li>CSS</li> </ul> 结构写好

css层叠机制说明

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

css层叠选择

首先声明一下CSS三大特性——继承.优先级和层叠.继承即子类元素继承父类的样式,比如font-size,font-weight等f开头的css样式以及text-align,text-indent等t开头的样式以及我们常用的color.简单的就不演示了,强调一下font-size这个东东(虽然也有继承,但是标签不同继承的效果也不一样),比如下面的代码: <!DOCTYPE html> <html lang="en"> <head> <meta c

关于css层叠

“确定应当向一个元素应用哪些值时,用户代理不仅要考虑继承,还要考虑声明的特殊性,另外需要考虑声明本身的来源.这个过程就称为层叠.”——<css权威指南> 特殊性 内联样式  1,0,0,0 ID  0,1,0,0 类.属性选择.伪类  0,0,1,0 标签.伪元素  0,0,0,1 结合符.通配符  0,0,0,0 1 html>body table tr[id="totals"] td ul >li {color:maroon;}/*0,0,1,7*/ 2 l

CSS层叠机制

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

CSS层叠概述

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