使用带有文本的 glyphicon 时如何避免额外的空间?

Posted

技术标签:

【中文标题】使用带有文本的 glyphicon 时如何避免额外的空间?【英文标题】:How to avoid extra space when using glyphicon with text? 【发布时间】:2016-07-19 09:15:00 【问题描述】:

我有一个 div 中的文本。但是添加 glyphicon 时会出现奇怪的行为,即单词之间的间距变大了。

如何避免这种情况?

<div class="glyphicon  glyphicon-chevron-up">With glyphicon</div>
<div>Without glyphicon</div>

Demo of the issue

Demo of Implementation in my application

【问题讨论】:

你用错了,&lt;div class="glyphicon glyphicon-chevron-up"&gt;&lt;/div&gt;必须是空的,像&lt;img src="" alt="" / &gt;一样在后面或前面加上文字,而不是在里面; 如Bootstrap How To 中所述,“不要与其他组件混合”“仅用于空元素” @xpy 感谢您提供的信息,这是唯一的解决方案 :) 【参考方案1】:

这个有效...

<div class="glyphicon glyphicon-chevron-up"></div>With glyphicon
<div>Without glyphicon</div>

如果你不能用这个,那就用这个吧:

 <div class="glyphicon  glyphicon-chevron-up" style="color: steelblue;font-size: initial;" data-toggle="collapse"   href="#new"></div><span style="color: steelblue;font-size: initial;" href="#new">
Glyhicon div with collapse</span>
<div class="collapse in" id="new">
Something goes here
</div>

然后您只能选择单击图标进行切换。

【讨论】:

这在我的情况下不起作用,因为我使用折叠将 glyphicon 与 chevron-down 切换,因为整个 div 需要data-toggle="collapse" 你需要把整个div相应地放好,然后我们才能看到真正的问题是什么【参考方案2】:

如果你想避免文本并且你想在 glyphicon 中写入文本,你应该在引导 glyphicon 类中添加 before 属性,这样它只对 before 生效,如下所示:

  /*add the :before to glyphicon */

      .glyphicon:before  
      position: relative;
      top: 1px;
      display: inline-block;
      font-family: 'Glyphicons Halflings';
      font-style: normal;
      font-weight: normal;
      line-height: 1;

      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    

【讨论】:

【参考方案3】:

您可以为 Glyphicons 添加跨度

<div><span class="glyphicon  glyphicon-chevron-up"></span>With glyphicon</div>
<div>Without glyphicon</div>

效果很好,为字形图标添加单独的跨度是一种很好的做法。 您的代码中发生的情况是 glyphicon 类属性被应用于您在 div 标记中编写的内容。

【讨论】:

【参考方案4】:

glyphicon 类应用可以在其中呈现符号的font-family : 'Glyphicons Halflings'。但是您已在同一 &lt;div&gt; 中添加了文本。这样该字体也将应用于您的文本。我已将文本移动到另一个 &lt;span&gt; 并将所需的 font-family : 'sans-serif' 应用于文本。这解决了问题,或者只需将您的文本移出 &lt;div&gt;,这也将起作用

带有字形 没有字形图标

新课程

.newFont
      font-family: sans-serif

JdFiddle

【讨论】:

不需要引入新的类; OP 只是错误地使用它们

以上是关于使用带有文本的 glyphicon 时如何避免额外的空间?的主要内容,如果未能解决你的问题,请参考以下文章

如何使字形图标成为 Razor 中的 ajax 链接文本?

如何避免相对布局中可绘制背景的额外高度?

将字符串(带有 unicode 字符)添加到字典时添加额外的斜杠( \ )

带有 Bootstrap Glyphicon 的 ASP.NET 按钮

使用 nginclude 时避免使用额外的 DOM 节点

手风琴.glyphicon-chevron-up和.glyphicon-chevron-down无效