【问题标题】:icon font in a box not displaying correctly in IE框中的图标字体在 IE 中无法正确显示
【发布时间】:2015-10-28 11:12:04
【问题描述】:

我使用带有包含图标字体的 UDesign 主题的 Wordpress,我在我的网站上使用这些在蓝色小框中显示图标,您可以在此页面上看到它们。

http://www.whichgreekisland.co.uk/islands/corfu/beaches/agnos/

我必须自定义 CSS 以使其显示在框中,我在网上找到了一个使用圆形的教程,我只是更改了边框半径以使它们成为带圆角的正方形。所以它使用了一个名为 .circle-icon 的类,它上面有以下 css。

color: #FFF;
font-size: 2.4em;
background: #018ED7 none repeat scroll 0% 0%;
width: 120px;
height: 120px;
text-align: center;
vertical-align: middle;
padding: 6px;
line-height: 2.6em;
margin-right: 10px;
border-radius: 3px;

它们在 Chrome 和 Firefox 上正确显示,例如,图标位于框的中心,但在 IE 中,框的底部缺失,因此图标位于框的底部且框太小。

我已尝试更改 css,但无法使其正常工作。我做错了什么还是有更好的方法将这些图标放在一个带圆角的蓝色小框的中心?

谢谢。

【问题讨论】:

    标签: css wordpress icons


    【解决方案1】:

    <i> 标签的使用是错误的。在 HTML 中,<i> 应该代表文本的替代部分(通常以斜体呈现),内联元素也是如此。有时它被用来渲染一个图标,但它是语义上的误用。

    所以如果你使用<i> 来渲染一个图标,你应该将他的显示模式更改为inline-block。实际上,您的图标大小只是根据伪元素:beforeline-height 和填充(可能会奇怪地在内联元素上呈现)的大小计算得出的。所以你的 120px 的 width 和 height 属性没有被应用。

    您需要做的是添加以下规则以获得与当前在 Chrome/FF 中相同的渲染,但在 inline-block 中:

    i {
      display: inline-block
      width: 53px;
      height: 48px;
    }
    i:before {
      line-height: 48px; /* vertically center the icon */
    }
    

    【讨论】:

    • 这不起作用,它在 IE 中拉伸了页面左侧的社交图标,但这些图标没有任何变化。
    • 我仍然看到旧的属性,图标仍然是内联的。只需尝试通过浏览器调试器更改显示模式并查看。
    • 我现在明白你的意思了,我已经将 css 更改为这个,现在它可以工作了。感谢你的帮助。显示:内联块;白颜色;字体大小:38px;行高:48px;背景:#018ed7;宽度:500x;高度:50px;文本对齐:居中;垂直对齐:中间;填充:14px 8px 3px;边距底部:5px; -webkit-border-radius:3px; -moz-边界半径:3px;边框半径:3px;
    猜你喜欢
    • 2012-11-05
    • 1970-01-01
    • 2016-12-15
    • 2014-02-17
    • 1970-01-01
    • 2015-12-30
    • 1970-01-01
    • 2023-01-28
    • 2015-03-18
    相关资源
    最近更新 更多