伪类选取器 ( pseudo-class ) 或是也被称为拟态选择器,可以用来设定 HTML 元素在特定状态的样式,最常使用的就是:hover
,可以设定滑鼠游标移至元素上时的样式,制作选单或按钮时很常使用
伪类选取器相较於伪元素多了许多,这边列出几个看过的,其他可参考 Pseudo-classes - CSS: Cascading Style Sheets | MDN
以下为 MDN 列出的部分伪类选取器
:active
:checked
:default
:defined
:disabled
:empty
:enabled
:first
:first-child
:first-of-type
:focus
:focus-within
:hover
:indeterminate
:invalid
:lang()
:last-child
:last-of-type
:link
:not()
:nth-child()
:nth-last-child()
:nth-last-col()
:nth-last-of-type()
:nth-of-type()
:only-child
:only-of-type
:placeholder-shown
:read-only
:root
:target
:valid
:visited
...
根据 W3.org ,Selectors Level 3可将众多的伪类选取器分成六类:
Dynamic pseudo-classes (动态伪类)
The target pseudo-class (目标伪类)
The language pseudo-class (语言伪类)
The UI element states pseudo-classes( UI 元素特定状态的伪类 )
Structural pseudo-classes (结构化伪类)
The negation pseudo-class (否定伪类)
关於这些伪类的详细的介绍可以参考
重新认识 CSS - Pseudo-class (伪类) (1) | Titangene Blog
重新认识 CSS - Pseudo-class (伪类) (2) | Titangene Blog
有几个自己纪录的一些注意的点:
:link
,主要是设定 a 连结未被点击时的样式,但因也可以直接在 a 连结上直接设定样式,因此较少使用到,需注意 :link
是设定有 href 属性的元素上才有效果,像是 <a> <area> <link>
,因此若使用在 <button>
是无效的::placeholder
在某些情况也是伪类:nth-child(n)
,初学时常常会有选取不到的情形,因是要从几个都是相同的元素选取特定的某个元素,例如想要选择偶数的 li,并想将 li 里面的 h2 设定不同样式,常会在顺序上没搞清楚,写成 li h2:nth-child(2n)
,结果设定的样式没有显示,因爲 li 中的 h2 只有一个,而不是有很多个相同的 h2 ,因此虽然想要设定的是 li 里面的 h2,但是要从多个相同的 li 选取特定,因此应该是 li:nth-child(2n) h2 {...}
参考资源:
Pseudo-classes - CSS: Cascading Style Sheets | MDN
Selectors Level 3
30个你必须记住的CSS选择器
::placeholder | CSS-Tricks
重新认识 CSS - Pseudo-class (伪类) (1) | Titangene Blog
重新认识 CSS - Pseudo-class (伪类) (2) | Titangene Blog
常用於超连结的动态僞类选取器 - 让你网页互动变丰富 - iT 邦帮忙::一起帮忙解决难题,拯救 IT 人的一天
前篇回顾 sed - 简介 读取编辑文字档的好工具 sed - 2 Pattern sed - 3 ...
我认为整个 Scrum 架构中,对系统以及最终的自组织目标,最重要、最有价值的一场活动,就是检讨会议...
哈哈~标题有点…希望不要有人介意哈,介意了也改不了嘿嘿。 这篇我要来说说上篇成果的呈现啦!还好我不放...
今天来看看一个常见问题。 { first_name: 'chris', last_name: 'wa...
因为这次我接的API是openweather,所以我们开始前要先到他们的官网去申请帐号哦! 注册完後...