css的选择器,在前端开发中只是很小的一部分,但其重要性却不可忽略。因为其比较繁琐。在看了很多书籍和文章后。我发现选择器的组织真的很混乱,没有找到一个完整的总结。不敢保证我的是否是最完整的,但我已竭尽所能。话不多说,直接看下文:
1.通配符选择器:*{
color:blue
}
//代表所有的标签和元素
2.类型选择器(标签选择器):body{
color:blue
}
//根据html标签来进行选择的选择符
3.id和class选择符:#id名{
color:blue
}
.class名{
color:blue
}
//需要注意的是id具有唯一性,而class不具有,而且id的优先级高于class
4.伪类选择器://常用的是锚伪类
a:link{} /*链接未访问*/
a:visited{} /*链接已访问*/
a:hover{} /*鼠标移动到链接*/
a:active{} /*选定链接*/
a:focus{} /*聚焦时*/
a:lang{} /*元素带有指定lang时*/
a:first-child{} /*元素在页面第一次出现时*/
5.伪元素选择器:a:before{} /* 在某个元素的前面插入内容*/
a:after{} /*在某个元素的后面插入内容*/
a:first-line /*为某个元素的文本首行设置特殊样式,只能用于块级元素*/
a:first-letter /*为某个元素的文本首字母或第一个字设置样式,只能用于块级元素*/
6.复合选择器(包含以下几种):
6.1交集选择器:h3.class名{} //第一个必须是标签选择器,第二个必须是id或class选择器
6.2并集选择器:h1,h2,span{} //结果是同时选中各个基本选择器所选择的范围。
6.3后代选择器:p span{} //用空格分隔开,p标签之间包含span标签,外层标签写在前面,内层的标记写在后面,发生嵌 //套时,内层标记就成了外层标记的后代。
6.4子选择器:p>span{} //只对其直接后代有影响
//////构建页面框架时,通常只给外层标记定义class或者id。
后代选择器与子选择的区别:
后代选择包括在其标签内部的所有标签,可以是子标签,孙子标签,曾孙子标签。。。。
子选择器只对其直接后代有影响,即:只作用于子标签。