解释CSS三大特性—继承性、层叠性、优先级

简介: 解释CSS三大特性—继承性、层叠性、优先级

一、继承性


写CSS样式表时,子标签会继承父标签的某些样式,如文本颜色和字号。想要设置一个可继承的属性,只需将它应用于父元素即可。


继承性发生的前提是包含(嵌套关系)


★文字颜色可以继承

★文字大小可以继承

★字体可以继续

★字体粗细可以继承

★文字风格可以继承

★行高可以继承


h系列不能继承文字大小


a标签不能继承文字颜色


<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title>css继承性</title>
    <style>
        div{
            color: #ffffff;
            font-size: 16px;
            text-decoration: underline;
            background: #ffc107;
            border-radius: 10px;
            padding: 5px;
        }
    </style>
</head>
<body>
<div>
    <p>子元素</p>
    <ul>
        <li>
            <p>后代元素</p>
        </li>
    </ul>
    <a href="#">www.vipbic.com</a>
    <h1>我是羊先生</h1>
</div>
</body>
</html>


image.png

二、层叠性



1、什么是层叠性?

CSS处理冲突的一种能力,这个我们称之为层叠性


2、什么情况出现层叠性?

只有在多个选择器中“同一个标签”,又设置了“相同的属性”的时候,就会发生层叠性


3、发生层叠性会怎么样?

当发生层叠性时,哪个选择器设置的属性起作用,是由优先级来确定


三、优先级



权重大的样式修饰,即使在权重小的前面先调用,也是只会显示大的权重样式

1、什么是优先级?

多个选择器可能会选择同一个元素,优先级高的先做,优先级低的后做,这个我们称之为优先级。

2、优先级判断方式有哪些?

是否是直接选中(间接选中就是指继承,如果是间接选中时,就近原则)

直接选中时是相同选择器(则谁写在后面就听谁的)

直接选中时不是同选择器(则就会按照选择器的优先级来层叠)

3、CSS选择器优先级

!important > 行内 > id > 类 > 标签 > 通配符 > 继承 > 浏览器默认



权重类型 权重值 解释
继承或者* 的贡献值 0 权重值最低,稍微有点背景的都能干掉他
每个元素(标签)贡献值 1 权重第二小
每个类,伪类贡献值为 10 类和伪类是同级别第三小的
每个ID贡献值为 100 级别正数排行第三
每个行内样式贡献值 1000 级别虽然高但不推荐使用
每个!important贡献值 ∞ 无穷大 级别最高


!important

用于提升某个直接选中标签的选择器中的某个属性的优先级的, 可以将被指定的属性的优先级提升为最高


注意点:


1. !important只能用于直接选中, 不能用于间接选中

2. 通配符选择器选中的标签也是直接选中的

3. !important只能提升被指定的属性的优先级, 其它的属性的优先级不会被提升

4. !important必须写在属性值得分号前面

5. !important前面的感叹号不能省略

6. IE6及更早浏览器下,!important在同一条规则集内不生效


科普知识: 不同浏览器采用不同大小的空间来存储每一位上的权重值:如firefox和ie都是用的8位来存储class位的权重值,也就是2^8=256。当叠加26层class时权重为10*26=260,就会发生溢出,向id位进一,权重为大于一个单一的id选择器.此时26层class的样式会在forefox上发挥作用,覆盖住id选择器的样式效果



相关文章
|
2月前
|
前端开发
【前端web入门第四天】02 CSS三大特性+背景图
本文详细介绍了CSS的三大特性:继承性、层叠性和优先级,并深入讲解了背景图的相关属性,包括背景属性、背景图的平铺方式、位置设定、缩放、固定以及复合属性。其中,继承性指子元素自动继承父元素的文字控制属性;层叠性指相同属性后定义覆盖前定义,不同属性可叠加;优先级涉及选择器权重,包括行内样式、ID选择器等。背景图部分则通过具体示例展示了如何设置背景图像的位置、大小及固定方式等。
259 91
|
13天前
|
前端开发
css特性
css特性 1.继承性:子级继承父级文字控制属性 ps:子级拥有自己的样式则不会继承父级。 2.层叠性:相同的属性后面覆盖前面,不同的属性叠加 3.优先级:选择器优先级高的样式生效 公式:通配符<标签<类<id<行内样式<!important(选中范围越大,优先级越低) 叠加计算规则:存在复合选择器时,从左向右依次比较个数,同一级个数多的优先级高,如果个数相同,则向后比较;!important权重最高;继承权重最低。
|
1月前
|
前端开发
CSS 中哪些属性可以继承
在 CSS 中,属性分为可继承与不可继承。可继承属性会在子元素中沿用父元素的样式设定。常见可继承属性包括:文本属性(如 `font-family`, `color`),列表属性(如 `list-style`),表格布局属性(如 `border-collapse`),以及其他如 `visibility` 和 `direction` 等属性。正确理解这些属性有助于更高效地进行样式设计。
|
2月前
|
前端开发 JavaScript 容器
谁动了我的选择器?深入理解CSS选择器优先级
该文章详细解释了CSS选择器的工作原理,包括不同种类选择器的权重计算规则,并通过实例说明了如何解决样式冲突问题,确保所需的样式能够正确应用到目标元素上。
|
2月前
|
前端开发
前端基础(四)_CSS层叠样式表_什么是css_css样式的引入方式_样式表的优先级_样式选择器
本文详细介绍了CSS(层叠样式表)的基本概念、语法规则、引入方式、样式表的优先级和样式选择器。文章解释了CSS的作用,展示了如何在HTML中通过行内样式、内部样式和外部样式引入CSS,讨论了不同CSS选择器的优先级和如何确定最终的样式应用。此外,还强调了使用`!important`规则时的优先级高于行内样式。
88 1
|
1月前
|
前端开发
哪些 CSS 属性可以继承?
哪些 CSS 属性可以继承?
48 0
|
2月前
|
前端开发
CSS层叠性与继承性
CSS层叠性与继承性。
39 2
|
3月前
|
前端开发 JavaScript API
Vue 3 新特性:在 Composition API 中使用 CSS Modules
Vue 3 新特性:在 Composition API 中使用 CSS Modules
|
前端开发 JavaScript 算法
【前端第三课】选择器类型的使用方法;CSS层叠与继承;盒子模型的概念;背景和边框
【前端第三课】选择器类型的使用方法;CSS层叠与继承;盒子模型的概念;背景和边框
【前端第三课】选择器类型的使用方法;CSS层叠与继承;盒子模型的概念;背景和边框
|
前端开发
CSS 中重要的层叠概念
最近在项目的过程中遇到了一个问题,menu-bar希望始终显示在最上面,而在之后的元素都显示在它之下,当时设置了 z-index 也没有效果,不知道什么原因,因此找了一下css有关层叠方面的资料,解决了这个问题,这里记录一下~ 屏幕是一个二维平面,然而HTML元素却是排列在三维坐标系中,x为水平位置,y为垂直位置,z为屏幕由内向外方向的位置,我们在看屏幕的时候是沿着z轴方向从外向内的;由此,元素在用户视角就形成了层叠的关系,某个元素可能覆盖了其他元素也可能被其他元素覆盖;
CSS 中重要的层叠概念