美文网首页
CSS的三大特性

CSS的三大特性

作者: 周星星的学习笔记 | 来源:发表于2021-01-21 10:58 被阅读0次

CSS中有三个非常重要的特性,分别是:层叠性、继承性、优先级

一、层叠性

1.定义

层叠性是指:相同选择器给设置相同的样式,这个时候一个样式就会覆盖另一个冲突样式,层叠性主要解决样式冲突的问题。

2.原则

① 样式冲突,执行就近原则,哪个样式离结构近就执行哪个样式。
② 样式不冲突,不会层叠。

3.示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            width: 200px;
            height: 200px;
            background-color: hotpink;
        }
        /* 由于此选择器离下面的div结构近,所以将会覆盖掉上面的background-color属性 */
        div {
            background-color: indigo;
        }
    </style>
</head>
<body>
    <div>
        123
    </div>
</body>
</html>
image.png

二、继承性

1.定义

继承性是指:子标签会继承父标签的某些样式,如:文本颜色和子号,简单理解就是:“子承父业”。

2.特性

① 恰当地使用继承性可以简化代码,减低CSS样式的复杂性。
② 子元素可以继承父元素的样式(text-、font-、line-、这些元素开头的可以继承,以及color属性)

3.示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            font-size: 18px;
            color: indigo;
        }
    </style>
</head>
<body>
    <div>
        <p>哈罗你们好啊!</p>
    </div>
</body>
</html>

三、优先级

1.定义

优先级是指:当同一个元素指定多个选择器的时候,就会有优先级的产生,也就是说:当出现这种情况的时候,会按照一定的原则,优先采用哪个选择器指定的样式进行页面的渲染。

2.原则

优先级按照如下表格所示,权重从上到下越来越大,也即优先级越来越高。

选择器 选择器权重
继承或* 0,0,0,0
元素选择器 0,0,0,1
类选择器、伪类选择器 0,0,1,0
ID选择器 0,1,0,0
行内样式style 1,0,0,0
!important重要的 ∞无穷大

3.示例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        div {
            color: indigo;
            /* color: indigo !important; */
        }
        .test {
            color: lawngreen;
        }
        #demo {
            color: lightpink;
        }
    </style>
</head>
<body>
    <div class="test" id="demo" style="color:red;">
        哈罗你们好吗?
    </div>
</body>
</html>

4.优先级的注意点

① 权重是有4组数字,但是不会有进位
② 可以理解为类选择器永远大于元素选择器,ID选择器永远大于类选择器,以此类推...
③ 等级判断从左至右,如果某一位数值相同,则判断下一位数值
④ 可以简单记忆法:通配符和继承权重为0,标签选择器权重为1,类(伪类)选择器权重为10,ID选择器权重为100,行内样式表权重为1000,!important权重为无穷大。
⑤ 继承的权重为0,如果该元素没有直接被选中,不管父元素权重多高,子元素得到的权重都是0。

5.权重的叠加

权重叠加:如果是复合选择器,则会有权重叠加,需要计算权重

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        /* 符合选择器会出现权重叠加的现象 */
        /* 权重虽然会叠加,但是永远不会进位 */
        /* ul li 选择器权重为(0,0,0,1 + 0,0,0,1) =  0,0,0,2  */
        ul li {
            color: seagreen;
        }

        /* li选择器的权重为 0,0,0,1  */
        li {
            color: red;
        }

        /* .nav li 选择器的权重为( 0,0,1,0 + 0,0,0,1 ) = 0,0,1,1 */
        .nav li {
            color: skyblue;
        }
    </style>
</head>

<body>
    <ul class="nav">
        <li>刘德华</li>
        <li>张学友</li>
        <li>郭富城</li>
        <li>黎明</li>
    </ul>
</body>

</html>

四、备注

1.本文参考:https://www.bilibili.com/video/BV14J4114768?p=129

相关文章

  • CSS的三大特性总结(深入理解css权重)

    【目录】 css的三大特性层叠性特性说明原理DEMO继承性优缺点重点DEMOhtml代码css代码优先级css特殊...

  • CSS的特性

    CSS的特性 1.层叠性 在两个样式权限相同的情况下,同一个标签中如果样式属性发生冲突,后面的会将前面的属性覆盖掉...

  • CSS相关文章

    前端面试之 CSS3 新特性 除了 HTML5 的新特性,CSS3 的新特性也是面试中经常被问到的。如何用 js ...

  • CSS 特性

    继承性 给父元素设置一些属性, 子元素也可以使用, 这个我们就称之为继承性 1.并不是所有的属性都可以继承, 只有...

  • CSS特性

    继承 CSS的一些特性,最常见的就是继承,CSS的有些属性是可以继承的,如果没有样式,则会继承父标签样式。比如co...

  • CSS 特性

    层叠性 样式冲突,遵循就近原则 样式不冲突,不会层叠 结果为红色25px的:Hello World 继承性 子标签...

  • CSS特性

    CSS属性的继承 CSS中有些属性是可继承的,何为属性的继承?一个元素如果没有设置某属性的值,就会跟随父元素的值当...

  • CSS特性

    Display - 块和内联元素 块元素是一个元素,占用了全部宽度,在前后都是换行符。内联元素只需要必要的宽度,不...

  • CSS特性

    一、CSS3 图像的背景 背景图片设定 backgroundCSS允许应用纯色作为背景,也允许使用背景图像创建相当...

  • 三十九、CSS3的新特性(上)

    一、CSS3的新特性 1.1、CSS的现状 新增的CSS3特性有兼容性问题,ie9+才支持。 移动端支持优于PC端...

网友评论

      本文标题:CSS的三大特性

      本文链接:https://www.haomeiwen.com/subject/xrckzktx.html