css——层叠

1.层叠是一种机制,用于解决css声明间的冲突。

css冲突:多个相同的成熟时声明,用于同一个元素就会产生冲突。

2.层叠的过程

【1】比较优先级

每个声明否具有一个优先级,当声明发生冲突时,会保留优先级高的,淘汰优先级低的。 
一个声明的优先级与他的来源和重要性有关。
来源一般分为三部分:浏览器默认样式,作者样式,用户样式 
从优先级高到低的排列顺序为:用户样式,作者样式,浏览器默认样式。
重要性:如果某属性值后跟上一个“!importent”,则表示一条重要声明,否则都是普通声明。
列:

p{color:red;}/*普通声明*/
p{color:red importent;}/*重要声明*/

【2】比较特殊性(specificity)

当声明发生冲突时,特殊性高的会保留,特殊性低的会淘汰。
声明的特殊性取决于规则实际用的范围大小,规则适用范围越小,特殊性越高,反之,特殊性越底。 
注:

*{声明块}/*通配符选择器,他的应用范围是整个页面*/
html{声明块}/*这两个选择器时范围最大的选择器*/

常见样式特殊性由高到低排行: 
1.行内样式 
2.id选择器 
3.类选择器 
4.元素选择器 
5.通配符选择器

【3】比较特殊性时,实质是比较声明的特指值(数值)

我们假设:
行内样式生成的值为(是行内样式生成1否则为0):a
id选择器个数生成的值为:b
类及伪类选择器个数生成的值为:c
元素及伪元素选择器个数生成的值为:d 
每一条声明的a与a,b与b,c与c,d与d的值进行对比,若得到一个最大的a值,与最大值对应的这条声明特殊性就越高,如果没有最大值则比较b的值,比较方法与a相同,以此类推……html元素将使用最大值对应的声明。

原文地址:https://www.cnblogs.com/xhh776554/p/8849516.html

时间: 2024-11-12 14:38:36

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