CSS选择器

2016-11-09  本文已影响0人  白小九

一、基础选择器

ID选择器
#<id> {}
类选择器
.<class> {}
元素选择器
<tag> {}
属性选择器
[<prop>] {}          /* 选取拥有<prop>属性的元素 */
[<prop> = <val>] {}  /* 选取<prop>值为<val>的元素 */
[<prop> *= <val>] {} /* 选取<prop>值包含<val>的元素 */
[<prop> ~= <val>] {} /* 选取<prop>值包含<val>的元素;<val>必须与其他值以空格分隔 */
[<prop> ^= <val>] {} /* 选取<prop>值以<val>开头的元素 */
[<prop> |= <val>] {} /* 选取<prop>值以<val>开头的元素;<val>必须与其他值以空格或连接符分隔 */
[<prop> $= <val>] {} /* 选取<prop>值以<val>结尾的元素 */

二、伪类选择器

<selector>:<pseudo-class> {}
锚伪类
a:link    /* 未访问的链接 */
a:visited /* 已访问的链接 */
a:hover   /* 鼠标悬停在链接上 */
a:active  /* 活动链接 */
子元素伪类
<selector>:first-child         /* <selector>是其父元素的第一个子元素 */
<selector>:last-child          /* <selector>是其父元素的最后一个子元素 */
<selector>:only-child          /* <selector>是其父元素的唯一一个子元素 */
<selector>:nth-child(<m>)       /* <selector>是其父元素的第m个子元素 */
<selector>:nth-last-child(<m>) /* <selector>是其父元素的倒数第m个子元素 */
特定类型伪类
<selector>:first-of-type          /* <selector>父元素中第一个类型是<selector>的子元素 */
<selector>:last-of-type           /* <selector>父元素中最后一个类型是<selector>的子元素 */
<selector>:only-of-type           /* <selector>父元素中唯一一个类型是<selector>的子元素 */
<selector>:nth-of-type(<m>)       /* <selector>父元素中第<m>个类型是<selector>的子元素 */
<selector>:nth-last-of-type(<m>)  /* <selector>父元素中倒数第<m>个类型是<selector>的子元素 */
状态伪类
<selector>:enabled  /* <selector>元素可用 */
<selector>:disabled /* <selector>元素被禁用 */
<selector>:checked  /* <selector>元素被选中 */
其他不常用伪类
<selector>:focus             /* <selector>元素获得焦点 */
<selector>:empty             /* <selector>元素没有子节点 */
<selector>:root              /* 根元素 */
<selector>:target            /* 当前活动的锚点目标<selector> */
<selector1>:not(<selector2>) /* <selector2>以外的<selector1>元素 */
<selector>:lang(<language>)  /* <selector>元素lang属性值为<language> */

三、伪元素选择器

<selector>::<pseudo-element> {}
首字母与首行
<selector>::first-letter /* <selector>元素中的文本首字母 */
<selector>::first-line /* <selector>元素中的文本首行 */
插入新内容
<selector>::before {content:<text>;} /* 在<selector>元素前插入text */
<selector>::after {content:<text>;}  /* 在<selector>元素后插入text */
选中
<selector>::selection /* <selector>元素中被用户选中的内容 */
<selector>::-moz-selection /* Firefox专用 */

四、组合选择器

后代选择器和子选择器
<selector1> <selector2> ... {}   /* 后代选择器 */
<selector1> > <selector2> ... {} /* 子选择器 */
兄弟选择器
<selector1> + <selector2> {}  /* 相邻兄弟选择器 */
<selector1> ~ <selector2> {}  /* 普通兄弟选择器 */
选择器组合

五、优先级与层叠

分类
优先级
层叠
示例
选择器 a类个数 b类个数 c类个数 d类个数 权重
#example 0 1 0 0 100
#example ul.list li 0 1 1 2 112
li 0 0 0 1 1

选择器的兼容性参考这里

上一篇 下一篇

猜你喜欢

热点阅读