如何在同一行显示文本和图标

Posted

技术标签:

【中文标题】如何在同一行显示文本和图标【英文标题】:How to display text and icon on the same line 【发布时间】:2018-06-07 02:50:36 【问题描述】:

我正在使用 bootstrap 4 和 fontawesome,并希望在同一行显示文本和图标。文本应该在左上角,而图标在右下角。目前,我无法将文本和图标保持在同一行,图标似乎移动到文本下方的一行。我该如何解决这个问题?

<link href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>

<div class="card-header">
      <span class="d-inline">Cars waiting pedestrians cross the street</span>
      <span class="d-inline btn d-flex justify-content-end">
          <i class="fas fa-angle-down"></i>
      </span>
    </div>

【问题讨论】:

【参考方案1】:

试试这个。 我删除了 d-flex,将 justify-content-end 替换为 float-rightd-inlined-inline-block

<link href="https://use.fontawesome.com/releases/v5.0.13/css/all.css" rel="stylesheet"/>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet"/>

<div class="card-header">
      <span class="d-inline-block">Cars waiting pedestrians cross the street</span>
      <span class="d-inline-block btn float-right">
          <i class="fas fa-angle-down"></i>
      </span>
  </div>

【讨论】:

这个解决方案很完美【参考方案2】:

这会有帮助吗?

<div class="card-header">
  <span class="d-inline">Cars waiting pedestrians cross the street

    <span class="d-inline btn float-right">
      <i class="fas fa-angle-down"></i>
   </span>

  </span>
</div>

编辑:根据 html 规范,在跨度内有跨度是有效的。阅读此 SO Post Can you have <span> within <span>?,了解有关创建嵌套 span 的更多信息。

编辑 2:向内部跨度添加类 float-right 以使箭头出现在右侧

【讨论】:

【参考方案3】:

Font Awesome 现在有一种本地方式来执行此操作。如果您只是在这里看到他们的文档,您可以在 &lt;ul&gt; 标记和 &lt;li&gt; 标记中添加一个类,并将它们放在一起!

https://fontawesome.com/v5.15/how-to-use/on-the-web/styling/icons-in-a-list

【讨论】:

欢迎来到 Stack Overflow!请注意,该问题提出了不同的挑战。要求不要创建带有任意图标的列表,而是将带有所需图标的块放置在文本的右侧。

以上是关于如何在同一行显示文本和图标的主要内容,如果未能解决你的问题,请参考以下文章

使用Bootstrap响应式设计使两个html元素保持在同一行

Flutter - 如何在一行中显示文本和图标?

如何将文本和社交媒体图标放在同一行

Gridview中的JQuery如何在文本框在同一行更改时检查复选框

java生成pdf如何让文字和图片显示在同一行

SQL:如何在同一行显示 WHERE IN 和 WHERE NOT IN?