:heading()
:heading() CSS 伪类函数表示所有符合使用 An+B 记法计算出的值的标题元素。这允许你一次性样式化特定标题级别的元素,而不是单独匹配和样式化它们。
注意: :heading() 功能性伪类与类选择器具有相同的特异性,即 0-1-0。因此 :heading() 的特异性为 0-1-0,而 section:heading() 的特异性为 0-1-1。
语法
css
:heading([ <An+B> [, <An+B>]* | even | odd ]) {
/* ... */
}
参数
:heading() 伪类函数接受以逗号分隔的 An+B 表达式或关键字值列表,这些表达式或关键字值描述了匹配标题元素的模式。
关键字值
函数式表示法
用法说明
:heading() 功能性伪类仅匹配语义上被识别为标题的元素。它不匹配带有 role="heading" 属性的元素,也不遵循 'aria-level' ARIA 属性。
示例
使用关键字参数
在此示例中,odd 关键字匹配级别为奇数的标题,即 <h1> 和 <h3>。even 关键字用于定位级别为偶数的标题,即 <h2> 和 <h4>。
html
<h1>Heading 1</h1>
<h2>Heading 2</h2>
<h3>Heading 3</h3>
<h4>Heading 4</h4>
css
:heading(odd) {
color: tomato;
}
:heading(even) {
color: slateblue;
}
使用 An+B 记法
html
<h1>Science</h1>
<h2>Physics</h2>
<h3>Atomic, molecular, and optical physics</h3>
<h4>Optical physics</h4>
<h5>X-Rays</h5>
<h6>Discovery</h6>
css
/* Targets headings <h3> and <h4> */
:heading(3, 4) {
font-weight: 100;
}
/* Targets headings in reverse starting from <h3> */
:heading(-n + 3) {
color: tomato;
}
/* Targets every third heading starting from <h1> */
:heading(3n + 1) {
font-style: italic;
}
/* Targets headings after level 5 */
:heading(n + 5) {
color: slateblue;
}
在此示例中
:heading(3, 4)匹配<h3>和<h4>元素:heading(-n + 3)反向匹配标题元素,因此是<h3>、<h2>和<h1>:heading(3n + 1)匹配从<h1>开始的每第三个 (3n) 标题元素,因此将包括<h1>和<h4>:heading(n + 5)匹配从<h5>开始的标题元素,并将包括<h6>
规范
| 规范 |
|---|
| 选择器级别 5 # 标题 |
浏览器兼容性
加载中…