You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在FontAwesome图标与<p>元素间加间距并实现二者同行显示

问题原因
  • <p> 是块级元素,默认样式为 display: block,会独占整行宽度,所以放在行内元素 <i> 后面自然会换行显示。
  • HTML 规范不允许 <p> 标签互相嵌套,你代码中外部 <p id="first-info"> 内部又嵌套了两个用于修改颜色的 <p> 标签,浏览器解析时会自动把嵌套的 <p> 拆分为独立的块级元素,会进一步导致内容分段换行。
解决方案

方案1(更推荐,符合HTML规范)

把所有 <p> 标签替换为默认行内显示的 <span> 标签,图标和文字默认就会在同一行,直接在图标后加空格或者给图标加右外边距即可控制间距:

<!-- 直接加空格控制间距 -->
<i class="fas fa-exclamation-circle"></i> <span id="first-info">Only <span style="color: greenyellow;">Admin</span> is allowed full priviledges whereas <span style="color: red;">User</span> is allowed partial priviledges.</span>

<!-- 用CSS margin控制间距更灵活 -->
<i class="fas fa-exclamation-circle" style="margin-right: 8px"></i><span id="first-info">Only <span style="color: greenyellow;">Admin</span> is allowed full priviledges whereas <span style="color: red;">User</span> is allowed partial priviledges.</span>

方案2(保留原有p标签结构)

给所有p标签修改display属性为行内或者行内块,强制不换行:

<style>
/* 统一修改p的显示属性为行内 */
#first-info, #first-info > p {
  display: inline;
}
/* 控制图标和文字间距 */
.fa-exclamation-circle {
  margin-right: 8px;
}
</style>

<i class="fas fa-exclamation-circle"></i><p id="first-info">Only <p style="color: greenyellow;">Admin</p> is allowed full priviledges whereas <p style="color: red;">User</p> is allowed partial priviledges.</p>

内容的提问来源于stack exchange,提问作者user16765028

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 02:09:03