CSS 伪类 :empty 表示一个为空且没有子元素的元素。
一个元素可以称为空:
如果它其标签之间没有任何内容。例如: <div></div>
如果元素包含代码注释。例如: <div><!-- 一个空元素,带有注释 --></div>
如果元素的 CSS 生成内容,例如从伪元素生成内容,例如: :之前或::之后。例如:div::before
像 <br />、<hr /> 和 <img /> 这样的自闭合元素也被视为空。
语法
:empty {
/* ... */
}
辅助功能问题:辅助技术(例如屏幕阅读器)无法解析空的交互式内容。因此,所有交互式内容必须具有可访问的名称,该名称可以由交互式控件的父元素的文本值提供;这反过来又使其可供辅助技术使用。
CSS :empty 示例
以下是 :empty 伪类的示例,应用于 <p> 标记:
<html>
<head>
<style>
p:empty {
width: 200px;
height: 30px;
background: magenta;
}
div {
border: 3px solid black;
width: 300px;
text-align: center;
}
</style>
</head>
<body>
<h2>:empty 例子</h2>
<div>
<p>不是一个空段落</p>
<p></p>
<p>不是一个空段落</p>
</div>
</body>
</html>
以下是 :empty 伪类的示例,应用于 <div> 标记:
<html>
<head>
<style>
#circle {
background-color: red;
height: 100px;
width: 100px;
border-radius: 50%;
}
#circle:empty {
background-color: yellow;
}
div {
display: inline-block;
color: black;
}
</style>
</head>
<body>
<div id="circle"><!-- Yellow circle --></div>
<div id="circle"><!-- not an empty element-->
<h2>:empty</h2>
</div>
<div id="circle">
<p>
<!-- 此评论周围的不可折叠空白和元素。-->
</p>
</div>
</body>
</html>