::first-letter伪元素可实现首字放大,需设置font-size、float:left、line-height:1、margin-right等属性,并注意中文兼容性、HTML结构及响应式单位。
用 ::first-letter 伪元素可以轻松实现段落首字放大效果,关键在于正确设置字体大小、行高、浮动等属性,同时注意兼容性和内容限制。
最简实现如下:
p::first-letter {
font-size: 3em;
font-weight: bold;
}
但仅设 font-size 容易导致首字与后续文字错位。推荐搭配以下属性:
::first-letter 对中文支持良好,但需注意:
或 HTML 标签(如 )开头,伪元素可能失效——确保首字符是可见文本font-family 指定衬线体(如 "SimSun", "Noto Serif CJK"),增强视觉对比这些细节容易被忽略,却直接影响效果:
内嵌套其他块级元素(如 、),否则 ::first-letter 可能不触发
-
避免给段落设
display: inline 或 inline-block,该伪元素仅对 block、table-cell 等块级上下文生效
-
移动端需测试字体缩放:用
em 或 rem 而非固定像素值,保证响应性
进阶微调示例
模拟传统印刷风格的首字下沉:
p::first-letter {
float: left;
font-size: 4.5em;
line-height: 0.8;
margin-right: 0.15em;
font-family: "Georgia", serif;
color: #
2c3e50;
}
配合段落 padding-top: 0.2em 可进一步对齐基线,让整体更协调。