CSS三大特性

CSS三大特性

  • 层叠性
  • 继承性
  • 优先级

层叠性

层叠性:就近原则

  1. 样式冲突遵循的原则就是就近原则,那个样式离结构近,就执行那那个样式
  2. 同类种选择器,第二个选择器相同样式会覆盖第一个选择器
  3. 在同一个选择器中,相同的属性,以最后一个为准
  4. 主要解决样式冲突问题。
  5. 样式不冲突,不会叠加。

继承性

所谓继承性是指书写CSS样式表时,子标签会继承父标签的某些样式,子标签会继承父标签的某些此样式,如文本的颜色和字号。

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

一,可以被继承的css属性

  1. 字体系列属性:font、font-family、font-weight、font-size、fontstyle;
  2. 文本系列属性:
  • 内联元素:color、line-height、word-spacing(设置单词之间的间距)、letter-spacing(设置文本字符间距)、 text-transform(用于设置文本的大小写:uppercase所有字符强制转为大写,lowercase转小写,capitalize首字符强制转为大写);
  • 块级元素:text-indent、text-align;
  1. 元素可见性:visibility
  2. 表格布局属性:caption-side(标题位置)、border-collapse(设置边框分离还是合并)、border-spacing(边框分离状态下设置边框间距)、empty-cells(定义如何渲染无可视内容的单元格边框和背景)、table-layout(定义用于布局单元格行和列的算法);
  3. 列表布局属性:list-style

二,不可以被继承的css属性

  1. display:规定元素应该生成的框的类型;
  2. 文本属性:vertical-align、text-decoration(用于设置文本的修饰线外观包括上/下划线,管穿线,删除线,闪烁 );
  3. 盒子模型的属性:width、height、margin、border、padding;
  4. 背景属性:background、background-color、background-image;
  5. 定位属性:float、clear、position、top、right、bottom、left、min-width、min-height、maxwidth、max-height、overflow、clip;

优先级

当同一个元素指定多个选择器就会由优先级产生。
选择器相同,则执行层叠性。
选择器不同,则根据选择器权重执行
选择器权重:

选择器 选择器权重
继承或者* 0,0,0,0
元素选择器 0,0,0,1
类选择器,伪类选择器 0,0,1,0
Id选择器 0,1,0,0
行内选择器 style=” “ 1,0,0,0
!important 重要性 无穷大

注意点:

权重是由四组数字组成,但不会有进位。
可以理解为类选择器永远大于元素选择器,id选择器永远大于类选择器。
等级判断,从左向右,如果某一位数值相同,则判断下一位数值。
可以简单记忆法:通配符和继承权重为0,标签选择器为1,类(伪类)选择器10,id选择器为100,行类样式为1000,!important 无穷大。
继承的权重为0,如果该元素没有直接选中,不管父元素权重多高,子元素得到的权重都是0。
权重叠加:如果是复合选择器,则会有权重叠加,需要计算权重多高

  • div ul li ——> 0,0,0,3
  • a:hover ——>0,0,1,1
  • .nav ul li ——>0,0,1,2
  • .nav a ——> 0,0,1,1

欢迎关注我的其它发布渠道