css知识填坑(一)——选择器

来源:互联网 发布:c语言中最大公约数 编辑:程序博客网 时间:2024/05/03 01:15

1.书写规则

每个样式规则由选择器和声明块两部分组成,如果声明中使用了不正确的属性或者不正确的值,整个声明都会被忽略。

2.选择器分类

选择器有:ID选择器,类选择器,属性选择器,标签选择器,后代选择器,相邻兄弟结合符,伪类选择器,伪元素选择器,通配符。

3.伪类和伪元素选择器

.伪类和伪元素选择器可以为文档中不一定存在的结构指定样式。

伪类可以理解为为元素指定假想类,伪元素可以理解为在文档中插入假想的元素。

伪类选择器::link,:visited,:focus,:hover,:active

:link和:visited只应用于超链接,它们属于静态伪类,即第一次显示之后一般不会再改变文档样式。

:link——指示作为超链接并指向一个未访问地址的所有锚。即有href属性的a元素。

:focus,:hover,:active属于动态伪类,它们可以根据用户行为改变文档外观,并且可应用于任何元素。

根据样式规则的优先级计算方式,为了让每个伪类选择器达到预期效果,伪类的顺序很重要,通常建议为:link-visited-focus-hover-active

伪元素有:before,after,first-letter,first-line,first-child,root……

所有伪元素都必须放在出现该伪元素的选择器的最后面。

利用before,after的content属性可在元素前后插入文字,图像,项目编号。

before,after的content属性值可以为none或normal,表示不插入内容,其区别为:none只能应用在这两个选择器中,normal还可以应用在其他用来插入内容的选择器中。

利用before,after的content属性指定图像的url向页面中插入图像,相比于直接插入img标签,该方法更节省时间。

在content属性中使用counter属性值来针对多个项目追加连续编号。

4.层叠

通过考虑继承,声明的特殊性,声明的来源,出现顺序来确定一个员素应用那些样式的过程叫层叠。

层叠规则:
a.标志!important的规则的权重高于没有!important的规则。读者的重要声明高于创作者的。默认规则影响最小。
b.按照特殊性对给定元素的所有声明排序,较高特殊性的元素的权重大于较低特殊性的元素。
(特殊性计算:
ID——0,1,0,0
类/属性/伪类——0,0,1,0
结合符/通配符:0,0,0,0
内联样式:1,0,0,0
继承值没有特殊性

c.按出现顺序,后出现的规则胜出。内嵌样式权重大于外联样式。

5.选择器的效率

0 0
原创粉丝点击