IE8 CSS Hack - 最好的方法?

问题描述 投票:9回答:7

任何人都可以推荐通过CSS破解IE8样式的最佳方法,我最近一直在将IE8渲染为IE7轻松 - 但是想知道是否最好添加IE8 hacks?

css internet-explorer-8 ie8-compatibility-mode css-hack
7个回答
10
投票

你应该改变你的方法。首先,您的网站应该在现代浏览器(如Firefox,Chrome,Opera,IE 9)中看起来很好,然后您可以开始担心其他浏览器。

正如其他人所说,有条件的评论可以是你的朋友。

首先,您应该开发CSS以在现代浏览器中看起来很好。然后检查IE8,看看你遇到了什么问题。如果需要,请包含特定于IE的样式表。之后,您可以检查IE7,然后检查IE6是否支持,并添加进一步的修复。

一个例子:

<link rel="stylesheet" href="normal.css" type="text/css" />
<!--[if lt IE 9]><link rel="stylesheet" type="text/css" href="ie8.css"><![endif]-->
<!--[if lt IE 8]><link rel="stylesheet" type="text/css" href="ie7.css"><![endif]-->

在这种情况下,您包括用于现代浏览器的normal.css。你发现了一些奇怪的IE8问题,所以在ie8.css你解决了这些问题。您不必在此包含所有选择器,只需要包含需要修复的选择器(IE 8及更低版本将覆盖这些值)。之后,如果IE7中仍有一些奇怪的东西,你可以添加你的ie7.css并修复它们,依此类推。

请参阅其他人提供给您的链接,以获取有关条件评论用法的更多信息。

最后:making IE8 render as IE7 for ease永远不是一个好主意,应该避免。 IE7已经过去了(在IT世界中,IE8应该是远远超过......),为现在和未来发展,之后你可以关心那些仍然坚持旧技术的人(基于您的受众和商业计划)。


5
投票

5
投票

当发布其他答案时,您可以使用条件注释,但这会在用户使用IE8时添加一个HTTP请求。您可以在css文件中使用\ 0 hack

img{
width:200px;//other broswers
width:100px\0;//only IE8
}

2
投票

你能解释一下你想要的吗?

通常,IE8与标准兼容,因此只需确保您的HTML文档处于标准模式,并为IE8提供与任何其他浏览器相同的样式表。

如果IE正在运行,那么最好的解决方案是使用Conditional Comments为IE提供单独的样式表。


0
投票

使用ie7-js Javascript库,这有助于使旧的IE版本更像正确的浏览器,处理HTML和CSS。然后,正如其他人所建议的那样,以符合标准的方式编写代码,这与最新版本的Chrome,Firefox,Opera等表现良好。


0
投票

我一直在为IE10和CSS样式寻找一个好的选择(但它也适用于IE8),我不想要一个额外的样式表以便于阅读,我想出了这个想法:

<!--[if lt IE 10]><div class="column IE10-fix"><![endif]-->
<!--[if !lt IE 10]><!--><div class="column"><!--<![endif]-->

我用额外的类声明我的div或任何你想要的东西,这允许我以一种非常易读的方式在同一样式表中有额外的CSS。

这是W3C有效而不是一个奇怪的CSS黑客。


-1
投票

ie8 only:最好的方法是

body{background:#f00\0/;}

\ 0 /是Ie8 CSS Hack

© www.soinside.com 2019 - 2024. All rights reserved.