【问题标题】:Font Awesome menu icon has 1px offsetFont Awesome 菜单图标有 1px 偏移
【发布时间】:2014-04-02 23:41:24
【问题描述】:

我已经尝试解决这个问题几个小时,但我一直在寻找一个好的解决方案,但运气不佳。它让我发疯,摆弄填充和行高。垂直对齐它没有做任何事情(这是在另一个线程中建议的)。

基本上,我正在尝试创建一个响应式导航菜单,当点击或单击图标时,当菜单显示时将向下推页面。我在不使用框架的情况下使用移动优先策略(网站很简单,所以我觉得 Bootstrap 有点过头了)。

但图标顶部似乎有一个额外的 1px。

我正在使用 Chrome,我已经复制了这个问题供大家查看。

<i class="fa fa-bars"></i>

i {
    width: 48px;
    height: 48px;
    margin-top: 24px;
    box-sizing: border-box;
    border: 2px solid #555;
    border-radius: 50%;
}
.fa-bars {
    color: #555;
    font-size: 24px;
    text-align: center;
    line-height: 48px;
}

您可以查看结果:http://jsfiddle.net/thecornishninja/jK8rD/

看到图标不是垂直居中了吗?看起来它顶部有一个额外的 1px 或 2px,无论我使用 rem 还是 px,它都在那里。

我使用的是 Fontastic 的代码,但出于演示目的,我使用的是 Bootstrap 中更简单的 CSS。两种方法都存在问题。

这可能是一件非常简单的事情,我很可能最终会自责,但我的大脑已经炸了,所以我希望你能帮忙。

【问题讨论】:

  • HTML 和 CSS 在同一个页面上吗?
  • 不,在我的项目中,我将它们分开。它仅在一页上用于演示目的。

标签: html css icons font-awesome icon-fonts


【解决方案1】:

您需要更改 .fa-bars:before 的 css,这是错误定位的元素。

试试:

.fa-bars:before {
    content: "\f0c9"; /*This is what the creator of font-awesome put in to show the lines character */
    display:block;
    margin-top:-1px;
}

另外,线条的高度似乎很奇怪,所以它不会正确定位。我将圆的大小更改为 49px,以便居中。

分叉jsfiddle

【讨论】:

  • ...但现在它不是水平居中的。我想这就是你使用字体时发生的事情。更难以预测! xD
  • 谢谢,我早上去看看。
  • 刚刚想出了一种替代方法,类似于您的方法。见:jsfiddle.net/thecornishninja/jK8rD/6
  • 因为我无法编辑我之前的评论。我想我昨天编码的时间太长了——这会教我知道什么时候该休息一下。非常感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-12-31
  • 2018-08-31
  • 2017-03-16
  • 2021-05-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多