【问题标题】:Aligning an icon font glyph alongside text将图标字体字形与文本对齐
【发布时间】:2016-01-07 16:54:36
【问题描述】:

我正在做一个网站,但在图标对齐方面遇到了一些问题。我到处研究了解决方案,但一直没有找到。

基本上,每次我使用图标并使其小于主文本(例如 14 像素)时,图标都会被强制向下几个像素,如果我保持相同大小,则不会被强制向下,而是向下延伸。这可以用position: relative; top: [pixels]px; 纠正,但感觉很脏。我已经尝试过垂直对齐基线和中间,我也尝试了一些其他的东西。

这是一个图标小于文本的示例:

这是一个图标与文本大小相同的示例。

问题不大,但图标应与文本对齐。似乎很多人都有这个问题,但没有任何解决方案对我有用。

解决办法是什么?我应该考虑图像而不是图标字体吗?或者 SVG,也许?当我尝试使用 SVG 图标时,我遇到了同样的问题。

【问题讨论】:

  • 你试过行高 CSS 属性吗?
  • @Iddz 我有,不幸的是它没有什么效果,事实上,当增加它时,它设法将它进一步推低。
  • 您可以在两个单独的跨度中添加图标和文本,并根据每个跨度添加边距顶部

标签: html css fonts cross-browser icons


【解决方案1】:

以前,我责怪字体。现在,随着进一步的工作,字体似乎部分归咎于 - 奇怪的字体大小会使事情发生并且需要调整以使元素对齐。因此,始终可以选择调整字体本身。

如果字体仍然无法使用,或者您无法编辑字体,则可以使用 <span>position: relative;top: -1px(或任何其他 px/em/rem 值,直到看起来正确)来解决问题。但这对跨浏览器不太友好——在 Firefox 中,这让事情看起来很正确,在 IE 和 Edge 中也是如此。但在 Chrome 中,一切都偏离了 0.5-1 像素。

奇怪的是,CSS 重置似乎无法解决这个问题。

【讨论】:

  • 您能否详细说明您尝试过的正确和错误方式,以更新和改进此答案?这比含糊地建议“仔细检查字体”要有用得多。检查什么?
  • @djangodude 我以为我已经修复了它,因为它当时看起来还不错,但它仍然无法正常工作。一旦我有了具体的解决方案,我将对其进行更新,但目前这被证明是一个非常烦人的问题。你会认为有一种更简单的方法可以将事物与 CSS 对齐!
猜你喜欢
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 2017-04-23
  • 2014-09-03
  • 1970-01-01
  • 1970-01-01
  • 2017-01-01
  • 2011-03-07
相关资源
最近更新 更多