需求:在文本後添加一個圖標,並讓它始終緊貼文本的最後一個字符,隨文本長度變化自動調整位置。這是典型的「內聯元素流式排版」場景。
<p>這是一段文本<img src="icon.png" style="vertical-align: middle; margin-left: 4px;"></p>
<img> 默認就是 inline 元素,天然跟隨文本流。vertical-align: middle 讓圖標垂直居中對齊文本基線。
.text-with-icon::after {
content: "";
display: inline-block;
width: 16px;
height: 16px;
margin-left: 6px;
background: url(icon.png) no-repeat center / contain;
vertical-align: middle;
}
<span class="text-with-icon">動態文本內容</span>
優點:HTML 乾淨無飾飾性標籤,圖標樣式集中管理,支持高清圖(SVG/2x圖)。
.icon-suffix::after {
content: "\e900"; /* Iconfont 字體編碼 */
font-family: "iconfont";
margin-left: 4px;
font-size: 0.9em;
vertical-align: middle;
}
或直接用 Unicode:
<span>文本內容</span> /* 十六進制實體 */
.flex-text-icon {
display: inline-flex;
align-items: center;
gap: 6px;
}
<span class="flex-text-icon">
<span>文本內容</span>
<img src="icon.png" width="16" height="16">
</span>
position: absolute 硬定位 —— 文本長度變化會脫離vertical-align: middle 或 baseline,否則會偏上/偏下font-size: 0.9em 讓圖標隨字體縮放根據項目技術棧選擇:傳統項目用方案一/二,現代項目推薦方案三(Iconfont)或方案四。