:only-child 用于选中父元素中唯一的子元素,当且仅当该元素是其父级的唯一直接子元素时生效,适用于动态内容场景;例如 div > p:only-child 可为单独的段落添加边框和内边距,article > h2:only-child 可突出显示单独存在的标题,实现智能样式适配。

CSS 伪类 :only-child 用于选中父元素中唯一的子元素。当某个元素是其父容器中**唯一一个子元素**时,该选择器生效,可以用来针对性地设置边框、字体或其他样式。
理解 :only-child 的作用条件
:only-child 只在目标元素是其父级的唯一直接子元素时才匹配。如果父元素有多个子元素,这个选择器就不会起作用。
例如:- 一个 div 中只有一个 p 元素 → p:only-child 生效
- 一个 div 中有两个 p 元素 → 第一个或第二个 p 都不会匹配 :only-child
这个特性非常适合用于动态内容场景,比如评论列表中只有一条评论时突出显示,或者表单中只有一个输入项时调整样式。
使用 :only-child 设置边框样式
当你希望容器中仅有一个子元素时添加特殊边框,可以用 :only-child 实现视觉强调。
立即学习“前端免费学习笔记(深入)”;
div > p:only-child {
border: 2px solid #007acc;
padding: 10px;
border-radius: 6px;
}
在这个规则下,只有当 p 是 div 中唯一的子元素时,才会显示蓝色边框。如果有其他兄弟元素(如 span 或另一个 p),样式自动不生效。
使用 :only-child 控制字体样式
你可以用它来为单独存在的文本元素设置特殊的字体大小、颜色或粗细,使其更醒目。
示例:
article > h2:only-child {
font-size: 24px;
color: #d35400;
font-weight: bold;
}
这表示:如果一篇文章中只有一个标题 h2 且没有其他兄弟元素,就让它更大更显眼。这种写法在内容管理系统中很实用,能自动适配不同结构的内容块。
基本上就这些。:only-child 不复杂,但在响应式设计和动态内容中非常有用,帮助我们写出更智能的 CSS 规则。










