css选择器:基础选择器,关系选择器,属性选择器,伪类选择器,伪对象选择器
基础选择器:#id .class 标签名称
关系选择器:
包含选择器(E F) 选择所有子元素,包括孙元素等 eg:ul li {}
子选择器(E>F)选择直接子元素,不包含孙元素等
相邻选择器(E+F)选择相邻的第一个兄弟元素以及这个兄弟元素的所有子孙元素,只选择第一个 向下选择兄弟元素
兄弟选择器(E~F)对后面的元素起作用,选择E元素之后所有兄弟元素F以及这些兄弟元素的所有子孙元素
属性选择器:
E[att] 选择所有带有att属性的E标签
E[att="val"] 选择具有att属性,并且att属性值val的E标签
E[att~="val"] 选择具有att属性,并且属性值列表中有一个符合val的E标签(是包含val这整个单词)
E[att^="val"] 选择具有att属性,并且以val开头(不一定是整个单词,只有以这个开头就行)的E标签
E[attr$="val"] 选择具有att属性,并且以val结尾的E标签
E[att*="val"] 选择具有att属性,并且属性值包含val的E标签(只要包含val就行,不一定是整个词)
伪类选择器:通过冒号定义,它定义了元素的状态,为元素的状态改样式。
E:link 设置a标签点击之前的颜色,特指a标签,其他标签没有效果
E:visited 设置a标签访问过之后的样式,特指a标签
E:hover 设置鼠标悬停在元素上时的样式
E:active 设置元素在鼠标按下时的样式,当鼠标抬起就恢复成原样式了
E:not(s) 匹配不含有s选择器的元素E
E:first-child E有父元素,并且E是父元素的第一个子元素,这是就会被这个选择器选中
E:last-child E有父元素,并且E是父元素的最后一个子元素,这时就会被这个选择器选中
E:only-child E元素是唯一的子元素时被选中
E:empty 选择没有子元素的E标签,像<h3></h3> ;<h3>dsd</h3>这种也是不符合条件的
E:checked 选择所有选中的元素
E:nth-child(n)
伪对象选择器:
E:before/E::before 将伪元素添加在E里面的内容之前
E:after/E::after 将伪元素添加在E里面的内容之后,还是在E标签中