一、选择器的权重
1、样式的冲突:当我们通过不同的选择器,选中相同的元素,并且为相同的样式设置不同的值时,此时发生样式冲突。
2、发生样式冲突时,应用哪个样式由选择器的权重(优先级)决定。
3、选择器的权重
① 优先级:内联样式>id选择器>类和伪类选择器>元素选择器>通配选择器>继承的样式
② 比较优先级时,出现交集选择器,需要将所有的选择器的优先级进行相加计算,最后优先级越高,则越优先显示(分组选择器是单独计算的)。
③ 选择器的累加不会超过其最大的数量级,比如:类选择器再高也不会超过id选择器。
④ 如果优先级计算后相同,则优先使用靠下的样式。
⑤ 选择器越具体优先级越高。
可以在某一个样式的后边添加 !important ,则此时样式会获取到最高的优先级,甚至超过内联样式,在开发中慎用。
二、继承(继承只会发生在后代元素上、祖先和后代之间)
1、样式的继承:我们为一个元素设置的样式同时也会应用到它的后代元素上。
2、继承的设计是为了方便开发,利用继承我们可以将一些通用的样式统一设置到共同的祖先元素上,这样只需要设置一次即可让所有的元素具有该样式。
3、注意:并不是所有的样式都会被继承,比如:背景相关的,布局相关等的这些样式都不会继承。
三、单位
1、长度单位
① 像素:屏幕(显示器)实际上是由一个一个的小点点构成的。
不同屏幕的像素大小是不同的,像素越小的屏幕显示的效果越清晰。所以同样的200px在不同的设备下显示效果不一样。
② 百分比:可以将属性值设置为相对于其父元素属性的百分比。
设置百分比可以使子元素跟随父元素改变而改变。
③ em:相对于自身元素的字体大小来计算。
1em=1font-size
根据字体大小的改变而改变。
④ rem:相对于根元素(html)的字体大小来计算。
2、颜色单位
① 在CSS中可以直接使用颜色名来设置各种颜色,但是在CSS中直接使用颜色名非常不方便。
② RGB值:通过三种颜色的不同浓度来调配出不同的颜色。R-red,G-green,B-blue。
每一种颜色的范围在0~255(0%~100%)之间。
语法: RGB(红色,绿色,蓝色)
如果三种颜色值都为0则为黑色,都为255则为白色。
③ RGBA:在rgb基础上增加了一个a元素表示不透明度。需要四个值,前三个和rgb一样,第四个表示不透明度。
1表示完全不透明,0表示完全透明,.5表示半透明
④ 十六进制的RGB值:
语法:#红色绿色蓝色
颜色浓度通过00-ff
如果颜色两位两位重复可以进行简写(如:#aabbcc写为#abc)
⑤ HSL值(HSLA值表透明度)
H 色相(0-360) 0和360都是红色
S 饱和度 颜色的浓度(0%-100%)
L 亮度 颜色的亮度(0%-100%) 0%表示没有亮度,为黑色
本文的分享先到这里,下一节继续跟大家分享关于CSS的布局学习内容。