CSS层叠概述

什么是层叠:

层叠是一种机制,用于解决CSS声明冲突(多个相同的CSS声明属性,应用到一个元素上)

层叠的过程

层叠机制

  • 比较优先级
  • 比较特殊性

比较优先级

  • 每一个声明都有一个优先级;
  • 当发生冲突时,优先级高的会保留,优先级低的会被淘汰;
  • 一个声明的优先级,与它的来源和重要性有关

解释来源

  • 作者样式表
  • 浏览器默认样式表
  • 用户样式表

解释重要性

  • 若属性值后面跟 !important,则表示一条重要声明;否则,表示普通声明。
  • 示例: color:red;普通声明
  • color:red  !important;重要声明

优先级从低到高

  • 浏览器默认样式表中的声明
  • 用户样式表的普通声明
  • 作者样式表的普通声明
  • 作者样式表中的重要声明
  • 用户样式表中的重要声明

比较特殊性

  • 每个声明都有一个特殊性(sepcificity)/特指值/特制度
  • 当发生冲突时,特殊性高的会保留,特殊性低的会被淘汰;
  • 一个声明的特殊性取决于规则适用范围的大小
  • 规则适用范围(范围最大的html和通用符选择器)越大,特殊性越低;适用范围越小,特殊性越高;

特殊性从高到低

行内样式 > ID选择器 > 类选择器 > 元素选择 > 通用符选择器

比较特殊性——具体规则

在比较特殊性时,每一个冲突的声明会生成{a,b,c,d},以比较特殊性a越大,特殊性越高;若a相同,则比较b;以此类推……

a:若声明是行内样式,则为1,否则为0

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

c:规则中的类选择器,伪选择器和属性选择器的个数

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

注:当计算并集选择器时,要分开计算

原文地址:https://www.cnblogs.com/date150219-/p/8849141.html

时间: 2024-10-10 08:26:18

CSS层叠概述的相关文章

CSS的概述

1.1 CSS的概述1.1.1 CSS是什么CSS 通常称为CSS样式或层叠样式表,主要用于设置HTML页面中的文本内容(字体.大小.对其方式等).图片的外形(高宽.边框样式.边距等)以及版面的布局等外观显示样式.CSS可以是HTML页面更好看,CSS色系的搭配可以让用户更舒服,CSS+DIV布局更佳灵活,更容易绘制出用户需要的结构.1.1.2 CSS名词解释CSS (Cascading Style Sheets) :指层叠样式表样式:给HTML标签添加需要显示的效果.层叠:使用不同的添加方式,

Css3之高级-7 Css动画(概述、关键帧、动画属性)

一.动画概述 动画概念 - 过渡属性只能模拟动画效果 - animation 属性可以制作类似 Flash 动画 - 通过关键帧控制动画的每一步 - 使元素从一种样式逐渐变化为另一种样式 - 实现复杂的动画效果 - 浏览器兼容性 - 最新版本支持良好 - Chrome 和 Safari 需要前缀 -webkit- - FireFox 需要前缀 -moz- - Opera 需要前缀 -o- 动画示例 - 声明动画 - 创建一个已命名的动画 - 使用 @keyframes 声明动画的关键帧 - 为元

CSS定位(CSS定位概述、相对定位、绝对定位、浮动)

CSS 定位属性 CSS 定位属性允许你对元素进行定位. 属性 描述 position 把元素放置到一个静态的.相对的.绝对的.或固定的位置中. top 定义了一个定位元素的上外边距边界与其包含块上边界之间的偏移. right 定义了定位元素右外边距边界与其包含块右边界之间的偏移. bottom 定义了定位元素下外边距边界与其包含块下边界之间的偏移. left 定义了定位元素左外边距边界与其包含块左边界之间的偏移. overflow 设置当元素的内容溢出其区域时发生的事情. clip 设置元素的

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> 结构写好

HTML and CSS学习概述-续&lt;Lovo&gt;

1,   CSS是层叠样式表(Cascading Style Sheets)的缩写,它用于定义HTML元素的显示形式,是一种格式化网页内容的技术.CSS现在已经被大多数浏览器所支持,成为网页设计者必须掌握的技术之一. 2,CSS将从基础开始建设直到全面替代传统Web设计方法.W3C组织创建的CSS技术将替代HTML中用于表现的HTML元素.提高页面浏览速度.使用CSS,比传统的Web设计方法至少节约50%以上的文件尺寸. 缩短改版时间,降低维护费用.只要简单修改几个CSS文件就可以重新设计一个有