CSS :only-of-type
伪类选择器用于匹配父元素中没有相同类型的唯一子元素。
例如,如果有下面的一段HTML代码,使用p:only-of-type
规则可以匹配<article>
元素中的p段落元素:
<article> <h1>标题</h1> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit... </p> </article>
但是如果修改一个HTML代码,再增加一个p段落,那么上面的CSS规则将不会匹配任何的p段落元素:如下:
<article> <h1>标题</h1> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit... </p> <p> Lorem ipsum dolor sit amet, consectetur adipisicing elit... </p> </article>
:only-of-type
伪类选择器和:only-child伪类选择器很像,:only-child伪类选择器会匹配父元素中的唯一子元素,它不管类型,只要是唯一子元素就被匹配。
示例代码
下面都是有效的:only-of-type
规则。
article:only-of-type { /* */} span:only-of-type { /* */} a:only-of-type:hover { /* */} p:only-of-type a { /* */}
在线演示
下面的例子中有两个<article>元素,使用p:only-of-type
对匹配只有唯一段落元素的第一个<article>元素中的p段落。
标题
这个段落是父元素中的唯一段落元素。(这个段落会被匹配)
标题
这是段落1
这是段落2
浏览器支持
所有的现代浏览器都支持:only-of-type
伪类选择器,包括:Chrome, Firefox, Safari, Opera9.5+, Internet Explorer 9+ 以及 Android 和 iOS。