这周算是学习web的第二周了。想先重点聊一下选择器,把flex布局留到之后写(其实是赶ddl没时间)
很喜欢黑马程序员的一句话:选择器就是为了寻找标签
我们发现最原始的四类选择器,标签选择器,类选择器,通配符选择器以及id选择器,在查找标签方面过于麻烦,因此衍生出来了复合选择器
1.后代选择器 格式:父选择器(空格)子选择器
会把所有在父与子标签里的后代全部囊括
2.子代选择器 格式:父选择器(空格)子选择器
3.并集选择器 格式:div,span,p{}(可以减少代码量)
4.交集选择器 格式:div.box(标签选择器写最前面)
在介绍完四个复合选择器之后,就又要讲到CSS的三大特性
1.继承性 子代默认继承父代的特性(应用:会在body选择器里面写好默认的字符控制特性,之后在用别的选择器调整)
2.层叠性 相同属性后面覆盖前面,不相同的都生效
3.very important
优先级:经常会出现多个选择器对一个标签生效的情形,此时通配符<标签选择器<类<ID<行内样式<!important
然而,在学习了复合选择器之后,我们还有叠加计算法则。按照数量奖其分解为基础选择器,按权重一样样比下来(类似于高考分一样先看语文,再看数学,再看外语…)
这些之外又有伪军😆
伪类选择器,伪类在我的理解中是一个暂时的状态,因此有“伪”的特性,又有“类”的特性。
格式为a:hover, 一般来说先设置一个一般情况下的a{},再设置一个a:hover{}。拓展的叫伪类-超链接,名字非常帅😄,就是把hover换成其他值。
结构伪类选择器,根据结构来查找标签,非常方便。比如E:first-child, 就能找到E的第一个元素。如果想要同时找多个的话,可以E:nth-child(公式)→比如2n 3n-1之类的
伪元素选择器,定义是创造出虚拟的元素,来摆放装饰性内容(我不能理解为什么是虚拟的元素)感觉和占位文本placeholder有点像。。。格式为E::before/after。不能忘记的是一定要在选择器里加上content=“”属性