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

动态添加Bootstrap图标后如何让图标与文本分两行显示?

解决Bootstrap图标与文本分行的问题

首先明确:Bootstrap Icons 是通过 ::before 伪元素渲染图标内容的,这个伪元素默认是行内(inline)元素,所以会和相邻文本处于同一行——但你完全不需要抑制这个伪元素(抑制了图标就无法正常显示),只需要调整图标元素的布局属性就能实现分行。

下面是几种简单可行的解决方法:

方法1:用Bootstrap内置工具类(最便捷)

Bootstrap自带d-block工具类,直接添加到图标标签上,就能让图标变成块级元素,独占一行:

<div class="row ml-1" id="refine">
  <i class='bi bi-trash d-block'></i> 
  "A1 - North Somerset core strategy"
  <br><br>
  <i class='bi bi-trash d-block'></i> 
  "Ashton Vale"
  <br><br>
  <i class='bi bi-trash d-block'></i> 
  "NPPF Sept 23"
  <br>
</div>

方法2:自定义CSS样式

如果不想用内置工具类,可以写个自定义样式,强制图标为块级显示:

.bi-trash {
  display: block;
}

添加这段CSS后,原有HTML代码无需额外修改,图标就会自动独占一行。

方法3:用容器包裹每个条目(更规范的布局)

把每个图标+文本的组合放到独立的块级容器里,比如<div>或<p>,结构更清晰,也能自然实现分行:

<div class="row ml-1" id="refine">
  <div class="refine-item">
    <i class='bi bi-trash'></i>
    <span>"A1 - North Somerset core strategy"</span>
  </div>
  <div class="refine-item">
    <i class='bi bi-trash'></i>
    <span>"Ashton Vale"</span>
  </div>
  <div class="refine-item">
    <i class='bi bi-trash'></i>
    <span>"NPPF Sept 23"</span>
  </div>
</div>

之后给.refine-item i设置display: block;,或者给.refine-item添加flex-direction: column;的flex布局,都能让图标和文本上下排列。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 00:26:18