伪类选择器是CSS五种选择器当中应用最灵活的一种,其包含六个分类。
1、动态伪类选择器不同的状态,使用不同的样式。
E: link
E: visited
E: active
E: hover
E: focus
2、目标伪类选择器用来匹配页面的URI中某个标识符的目标元素。
E: target
选择匹配E的所有元素,且匹配元素被相关URL指向。
3、语言伪类选择器用来匹配使用指定语言的元素。
E: lang(language)
4、元素状态伪类选择器当元素处于某种状态下时,才起作用,在默认状态下不起作用。
E: checked
eg: input[type="checkbox"]:checked{}
E: enabled
eg: input[type="text"]:checked{}
E: disabled
eg: input[type="text"]:disabled{}
5、结构伪类选择器这个就比较多了,平时用的也比较频繁。
: nth-child
: nth-last-child
: nth-of-type
: nth-last-of-type
: first-child
: last-child
: only-child
: first-of-type
: last-of-type
: only-of-type
: root 匹配元素所有在文档的根元素
: empty 选择没有子元素的元素,且不包含节点
6、否定伪类选择器E: not(F) 匹配所有除F外的E元素
css3中,追加了三个属性选择器分别为:
结构性伪类选择器由两部分构成,一是伪类选择器,一是伪元素选择器。
伪类选择器 ,要注意命名不要与系统定义好的选择器重名,例如link、hover
伪元素选择器 中包含 first-line、first-letter、before、after。
当root和body起冲突时,body就对内容区域生效,在内容区外则是root生效。
格式:not(selector)
1. first-child 对一个父元素中的 第一个 子元素进行样式的指定
2. last-child 对一个父元素中的 最后一个 子元素进行样式的指定
3. nth-child(positon) 对一个父元素中的 指定序号 的子元素进行样式的指定
4. nth-last-child 对一个父元素中的 指定倒数序号 的子元素进行样式的指定
2)使用nth-of-type(odd)和nth-of-type(even)
1)使用nth-child
2)使用nth-child(an+b),a表示每次循环中,包括几种样式,b表示指定的样式在循环中所处的位置。
only-child选择器,在元素只有一个子元素时,可以代替使用 nth-child(1)/nth-last-child(1) 。
在css3选择器中,除了结构性伪类选择器外,还有一种UI元素状态选择器——只有当元素处于某种状态下才起作用,在默认状态下不起作用。
通过js改变输入框的可输入和不可输入状态,通过css样式改变输入框可输入和不可输入状态时的背景颜色。
用来位于同一个父元素之下的,给与一个子元素平级的另一个子元素设定样式
伪类选择器hover可以在鼠标移到链接上时设置一些特殊样式,比如字体大小,背景颜色,显示隐藏等等。注意:伪类选择器hover 可以作用于所有元素,不仅仅是链接。
与hover类似的选择器还有link,visited,active。 link 选择器可以设置未被访问过的链接样式, visited 选择器可以设置已被访问过的链接样式,active选择器可以设置被激活的链接样式。不清楚的同学可以参考 CSS视频教程。
用法1:当鼠标经过链接时改变其自身的样式(hover后面直接接样式)
描述:当鼠标经过时,a标签的字体颜色变为红色,字体变大,
用法2:用伪类选择器hover控制其子元素的样式(hover后面加空格再接要改变元素的样式)
描述:当鼠标经过时div时,其子元素的颜色变为紫色,字体变大,出现红色边框,
用法3:当鼠标经过时控制其兄弟元素的样式(hover后面加“+”再接要改变元素的样式)
描述:鼠标经过时其兄弟元素的背景颜色变为黄色,字体变大,