Html IE8及以下内联块CSS
所以我知道IE8及其以下版本不喜欢Html IE8及以下内联块CSS,html,internet-explorer,css,Html,Internet Explorer,Css,所以我知道IE8及其以下版本不喜欢内联块,但我读到内联应该会导致相同的行为。因此,我修改了将我的main.css复制到main-ie8below.css,并将所有inline块更改为inline。我使用以下代码尝试实现这一点: <!--[if lte IE 8]> <link rel="stylesheet" type="text/css" href="/media/css/main-ie8below.css" />
内联块
,但我读到内联
应该会导致相同的行为。因此,我修改了将我的main.css
复制到main-ie8below.css
,并将所有inline块
更改为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(去除无用的东西):
这是一把小提琴,除了没有图像:
您需要这样使用:
display: inline;
zoom: 1;
display: inline-block;
*display: inline;
*zoom: 1;
我猜你错过了缩放:1部分。如果您使用的是适用于所有IE版本和现代浏览器的现有样式表,那么最好使用这种方式:
display: inline;
zoom: 1;
display: inline-block;
*display: inline;
*zoom: 1;
但问题是,您的CSS可能无法验证
我不明白,哪部分是你不明白的。让我解释一下我用过的三件事
*
,将使其仅对IE 7及以下版本可见*zoom
和*display
不是有效的CSS属性缩放:1
将触发元素的hasLayout
属性,从而使其可用宽度
、高度
、边距
和填充
您需要使用以下方法:
display: inline;
zoom: 1;
display: inline-block;
*display: inline;
*zoom: 1;
我猜你错过了缩放:1部分。如果您使用的是适用于所有IE版本和现代浏览器的现有样式表,那么最好使用这种方式:
display: inline;
zoom: 1;
display: inline-block;
*display: inline;
*zoom: 1;
但问题是,您的CSS可能无法验证
我不明白,哪部分是你不明白的。让我解释一下我用过的三件事
*
,将使其仅对IE 7及以下版本可见*zoom
和*display
不是有效的CSS属性缩放:1
将触发元素的hasLayout
属性,从而使其可用宽度
、高度
、边距
和填充
事实证明,这是IE8无法识别HTML5元素的原因。通过添加HTML5,我能够修复它。结果是HTML5元素没有被IE8识别。通过添加HTML5,我能够修复它。你能更详细地解释最后一部分吗?@ThatidotGuy补充了解释。如果你什么都不懂,请告诉我。:)不幸的是,它并没有为IE8修复它,我发布了我使用
inline block
的html代码片段。它本质上是一种水平导航bar@thatidiotguyIE 8实际上喜欢内联块:)“我不知道为什么它对你不起作用。好吧,我要放一把小提琴来展示我在做什么,也许再问这个问题,谢谢你的帮助。你能再详细解释一下最后一部分吗?”Thatidotguy补充道。如果你什么都不懂,请告诉我。:)不幸的是,它并没有为IE8修复它,我发布了我使用inline block
的html代码片段。它本质上是一种水平导航bar@thatidiotguyIE 8实际上喜欢内联块:)我不知道为什么它对你不起作用。好吧,我准备放一把小提琴来展示我在做什么,也许再问一次这个问题,感谢您在处理IE功能检测时的帮助,我相信最好的方法是坚持HTML5样板方式:
并在main.css
中为.lt-ie8添加规则。我的内联块元素{}
到底有什么不起作用?屏幕截图或JSFIDLE将非常有用。我怀疑您的问题可能是没有添加填充/边距(它们不适用于内联元素),但我不知道IE8及以下版本的缩放,在处理IE特性检测时,这很可能是你的问题。我相信最好的方法是坚持HTML5样板的方式:
,并在main.css
中为.lt-ie8添加规则。我的内联块元素{}
到底有什么不起作用?屏幕截图或JSFIDLE将非常有用。我怀疑您的问题可能是没有添加填充/边距(它们不适用于内联元素)。不过,我不知道IE8及以下版本的缩放,这也可能是您的问题