css - 框中的图标字体无法在 IE 中正确显示

标签 css wordpress icons

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

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

我必须自定义 CSS 才能让它显示在框中,我在网上找到了一个用圆圈做的教程,我只是更改了边框半径,使它们成为带圆 Angular 的正方形。所以它使用一个名为 .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,但我无法让它工作。我做错了什么或者是否有更好的方法让这些图标位于带圆 Angular 的蓝色小框的中央?

谢谢。

最佳答案

<i>的使用标签错了。在 HTML 中,<i>应该代表文本的交替部分(通常呈现为斜体),内联元素也是如此。有时它用于呈现图标,但这是一种语义误用。

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

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

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

关于css - 框中的图标字体无法在 IE 中正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33389502/

相关文章:

javascript - 居中动态宽度 Divs

wordpress - 如何在 Wordpress 中将 https 重定向到 http

php - 如何在 WooCommerce 中获取所有订单状态的 slug 和名称?

php - 使用 PHP 将 png 文件转换为 ico

css - Ruby on Rails - image_tag 找不到本地镜像

html - 使背景图像不可调整大小

icons - jsTree 3 中的自定义图标?

c# - Visual Studio的Windows Style中的图标的图标路径在哪里

javascript - 如何设置功能键(f2)以重命名选项卡

php - wordpress 包含第二个 mysql 连接