CSS样式-CSS的特性(层叠性、继承性、优先级)

CSS冲突:两个选择器针对同一个元素,设定同一个CSS属性

一、CSS层叠性:

 

两个选择器选到了同一个元素,并且对同一个CSS属性进行设定,那么后定义的CSS属性将覆盖先前定义的属性;

如果是针对不同的CSS属性进行设定,互不影响;

如果有些CSS属性冲突,有些不冲突,那么冲突的层叠,不冲突的互不影响;

 

二、CSS继承性:

 

一个元素的CSS属性可以继承自其父亲或者祖辈的CSS属性;

如果多个级别的祖辈元素对同一个CSS属性进行了设定,那么采取就近原则;

只有一部分的CSS属性是可以继承的,常用的可继承的CSS属性有:字体、color、line-height、text-align、text-indent;

 

举例:

<head>

  <style type="text/css">

    .animal {

      color: #f00;

    }

  </style>

</head>

<body>

  <div class="animal">

    <p>小猫</p>

  </div>

</body>

 

“小猫”的颜色为红色,继承了父级.animal的颜色属性

 

三、CSS优先级:

 

  3.1原则:

      如果优先级不同,高优先级的选择器将覆盖低优先级的选择器的CSS属性;

      如果优先级相同,定义在后的选择器将覆盖定义在先的选择器的CSS属性;

  3.2优先级(贡献值)的计算方法:

      * 以及继承的样式优先级最低:0,0,0,0

      元素(或者标记)优先级:0,0,0,1

      类,伪类优先级:0,0,1,0

      ID选择器优先级:0,1,0,0

      行内样式优先级:1,0,0,0

      举例:

      

      <head>

        <style type="text/css">

          .animal {

            color: #f00;

          }

        </style>

       </head>

       <body>

          <div class="animal" style="color: #0f0">

            <p>小猫</p>

          </div>

        </body>

 

      “小猫”的颜色为绿色

 

       !important优先级:无穷大

 

        .animal {

            color: #f00!important;

         }

        “小猫”的颜色为红色

 

    3.3优先级比较方法:

        把所有出现的单个选择器的优先级进行累加,不进位

        先从最高位开始比较,最高位相同的话,再比较次高位,依次类推。。。     

posted @ 2021-02-20 18:05  #Friday  阅读(297)  评论(0)    收藏  举报