CSS层叠和继承

层叠

当有声明冲突的时候,浏览器会自动触发层叠机制

声明冲突:同一样式,不同的值,给同一个标签就会产生声明冲突

层叠的过程

1、比较优先级

一个声明的优先级,与它的来源和重要性有关

来源:1.作者(开发者)样式表:外部样式表;内部样式表;行内样式表

2.浏览器默认样式表

3.用户样式表

优先级排序:用户样式表>作者样式表>浏览器样式表

重要性:若属性值后跟上!important,则表示一条重要声明,否则,表示普通声明

例:color:red;普通声明

color:red !important;重要声明

2、比较特殊性(特指值/特指度)

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

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

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

在比较特殊性时,每一个冲突的声明,会生成4个数字(a,b,c,d),a越大,特殊性越高,若a相同,比较b,b越大,特殊性越高,依次类推

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

b:规则中id选择器的个数,有1算1,有几个算几个

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

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

通配符选择器特殊性为0

当计算选择器分组(并集选择器)的时候,要分开计算

3、比较源次级

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

该规则的实际应用:

CSS Reset 代码前置

CSS重置文件 Reset.css 解决兼容性

a元素的伪类书写顺序

继承

继承(inherit),是指子元素会自动拥有父元素的某些css属性

并不是所有css属性都可以被子元素继承

可被继承的属性:

color,font-size,font-weight,text-align(基本上文本类的样式都可以继承)

不可被继承的属性:

background-color

继承发生的场景

一个元素的某个css属性,只有满足以下两个条件,才会继承父元素:

  • 该属性是可继承的属性
  • 该属性在样式表中没有声明
强制继承

强制继承也叫显式继承,是指将css属性值设置为inherit

这样做,通常有两个原因:

  • 为了继承有些不可继承的属性
  • 为了继承已被声明过的属性

原文地址:https://www.cnblogs.com/lp1995/p/9217387.html

时间: 2024-09-29 15:07:30

CSS层叠和继承的相关文章

CSS 层叠与继承

三种继承css方式 1.段内继承 <p style="color: red;font-size:50px;">样式原文</p> 原文变成 红色, 原文字体变大 两个都是通过改变样式属性的值去实现的. 语法详解: 1.每个样式属性会有不同的值, "color: red" 通过冒号表达color的属性. 2.属性间要用分号间隔和闭合 3.font-size 属于复合属性 2. 文档内继承 <style>        全局style

CSS特性: 继承 和 层叠

在css中也存在着继承关系,与面向对象的编程语言不同,css的继承很简单,而且主要指的是在CSS盒模型中,外围的盒子的样式会被内部所包含的盒子所继承.具体来了解一下. HTML元素之间存在一个"树型"关系,这个关系使得样式发生继承.1. 子元素会继承父元素的样式 2. 子元素可以定义自有样式 3. 子元素可以改变从父元素继承而来的样式 4. 子元素的样式不会反作用于父元素(继承是单向的) 5. 每个元素都遵循样式继承的概念. 6. 样式继承是一个抽象(抽象是提取共同点的方法)的过程,抽

CSS学习摘要-层叠和继承

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

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

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

理解css属性的继承和覆盖

首先,我们梳理一下哪些属性会被继承 文本 color 颜色,a元素除外 direction 方向 font 字体 font-family 字体系列 font-style 字体风格 font-size 字体大小 font-weight 字体粗细 letter-spacing 字母间距 line-height 行高 text-align 对齐方式 text-indent 首行缩进量 text-transform 大小写修改 visibility 可见性 white-space 指定如何处理表格 wo

css层叠选择

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

26.前端css优先级以及继承

1.css优先级以及继承 css具有两大特性:继承性和层叠性 继承性 继承:给父级设置一些属性,子级继承了父级的该属性,这就是我们的css中的继承. 有一些属性是可以继承下来 : color . font-*. text-*.line-* .主要是文本级的标签元素. 但是像一些盒子元素属性,定位的元素(浮动,绝对定位,固定定位)不能继承. 层叠性 层叠性: 权重的标签覆盖掉了权重小的标签,说白了 ,就是被干掉了权重: 谁的权重大,浏览器就会显示谁的属性 权重大小比较方法: 样式表中的特殊性描述了

层叠和继承的概念,选择器的优先级,盒模型,元素在页面上的定位体系,常规流

1.层叠和继承的概念: CSS层叠性是指CSS样式在针对同一元素配置同一属性是,依据层叠规则(权重)来处理冲突,选择应用权重高的CSS选择器所指定的属性,一般也被描述为权重高的覆盖权重低的,因此也称作层叠. 继承:子元素会自动拥有父元素的某些CSS属性,通常来说,文本类的属性会被继承(字体.字号.颜色) 2.选择器的优先级 !important>id选择器>类选择器>标签选择器>子选择器>后代选择器>伪类选择器 3.盒模型 在网页中,一个盒子占有空间的大小由几个部分构成

(转)CSS样式表继承详解

什么是css 继承?要想了解css样式表的继承,我们先从文档树(HTML DOM)开始.文档树由HTML元素组成. 文档树和家族树类似,也有祖先.后代.父亲.孩子和兄弟^_^.这很容易理解吧,笔者在这里就不一一赘述了.希望深入了解的朋友请google之. 那么CSS样式表继承指的是,特定的CSS属性向下传递到子孙元素. 下面举个例子,有如下html代码片段: <p>CSS样式表<em>继承特性</em>的演示代码</p> 需要注意的是em是包含在p之内的.