::first-line 伪元素可用于块级元素首行样式设置,自动适应换行变化,支持字体、颜色等文本属性,常用于提升段落开头的视觉吸引力与可读性。

使用 ::first-line 伪元素可以为段落的第一行文字设置独立样式,这在文字排版中非常实用,尤其适合增强文章开头的视觉吸引力。它能自动识别当前排版环境下第一行所包含的文字,并只对这些文字生效,即使窗口缩放导致换行变化,样式依然准确作用于实际显示的第一行。
基础语法与适用场景
::first-line 只能用于块级元素(如 p、div、h1-h6),通常搭配段落使用:
p::first-line {font-weight: bold;
color: #555;
}
这样可以让每个段落的首行加粗并变色,提升可读性。适用于文章正文、引言段、博客内容等需要强调起始阅读位置的场景。
与字体和间距搭配提升美感
结合字体样式、字间距和行高调整,可以让首行更具设计感:
立即学习“前端免费学习笔记(深入)”;
- 使用略大的字号或衬线字体突出文学感
- 适当增加 letter-spacing 让文字更舒展
- 调整 line-height 避免首行拥挤
font-size: 1.1em;
font-family: "Georgia", serif;
letter-spacing: 0.05em;
line-height: 1.4;
}
避免常见限制与错误
::first-line 有一些使用限制需要注意:
- 不能设置 width、height、margin、padding 等盒模型属性
- 支持 color、font、text-decoration、vertical-align 等文本属性
- 若父元素为 inline 元素(如 span),伪元素无效
- 不要过度使用,避免多个段落首行都加复杂样式造成视觉混乱
配合响应式排版动态生效
由于 ::first-line 是基于当前布局自动判断第一行内容的,因此在响应式设计中特别有用。例如在移动端屏幕变窄时,首行字符数减少,样式仍能精准作用于可见的第一行,无需额外 JavaScript 控制。
可以结合媒体查询微调不同设备下的首行表现:
@media (max-width: 768px) {p::first-line {
font-size: 1em;
font-weight: normal;
}
}
基本上就这些。合理使用 ::first-line 能让文字排版更有层次,关键是保持克制,服务于整体阅读体验。不复杂但容易忽略细节。










