【发布时间】:2013-02-16 03:27:27
【问题描述】:
所以我知道 IE8 及更低版本不喜欢 inline-block 但我读到 inline 应该会导致相同的行为。所以我修改了将我的main.css 复制到main-ie8below.css 并将所有inline-block 更改为inline。我使用以下代码来尝试实现这一目标:
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="/media/css/main-ie8below.css" />
<![endif]-->
<!--[if gt IE 8]>
<link rel="stylesheet" type="text/css" href="/media/css/main.css" />
<![endif]-->
<!--[if !IE]><!-->
<link rel="stylesheet" type="text/css" href="/media/css/main.css" />
<!--<![endif]-->
但是,这不起作用。看来我的 if 语句不正确。是这样吗,还是我错过了什么?
这是有问题的 HMTL(删除了无用的东西):
<nav id="main_nav" role="navigation"><!--
<div><a href=""><img src="" /></a></div><!--
--><div><a href=""><img src="" /></a></div><!--
--><div><a href=""><img src="" /></a></div><!--
--><div><a href=""><img src="" /></a></div><!--
-->
这是一个小提琴,除了没有图像:
【问题讨论】:
-
在处理 IE 功能检测时,我认为最好的方法是坚持 HTML5 样板方式:
<!--[if lt IE 7]> <html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]--> <!--[if IE 8]> <html class="no-js lt-ie9"> <![endif]--> <!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->并在您的main.css中为.lt-ie8 .my-inline-block-element{}添加规则 -
究竟是什么不起作用?截图或 jsfiddle 会很有帮助。
-
我怀疑您的问题可能是没有添加填充/边距(它们不适用于内联元素)虽然我不知道 IE8 及以下版本的缩放,但很可能是你的问题也是
标签: html internet-explorer css