CSS层叠

1、层叠的含义:

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

2、层叠的过程:

    2.1比较优先级

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

       若属性后面跟上【!important】,则表示一条重要声明,否则表示普通声明。

      优先级从低到高的顺序如下:

(1)浏览器默认样式表中的声明;

(2)用户样式表中的普通声明;

(3)作者样式表中的普通声明;

(4)作者样式表中的重要声明;

(5)用户样式表中的重要声明

 2.2比较特殊性

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

特殊性从高到低如下:

(1)行内样式;

(2)ID选择器;

(3)类选择器;

(4)元素选择器;

(5)通配符选择器

2.2.1权重值

!important→infinity

行间样式→1000

ID选择器→100

class/属性/伪类→10

标签/伪元素→1

通配符→0

2.3比较源次序

代码靠后的胜出。

3、a元素伪类书写顺序

(1)【:link】链接未被访问的样式;

(2)【:visited】链接已经被访问过的样式;

(3)【:hover】鼠标悬停在元素上的样式,适用于其他元素;

(4)【:active】链接被激活时的样式。

4、继承

继承(inherit),是指子元素会自动拥有父元素的某些CSS属性。子元素会自动拥有父元素的某些CSS属性,继承须有传递性。

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

强制继承的原因:

为了继承有些不可继承的属性

为了继承已被声明过的属性

 

 

原文地址:https://www.cnblogs.com/czy18227988114/p/11521443.html