IE8 CSS Hack - 最好的方法?

时间:2011-04-12 13:18:56

标签: css internet-explorer-8 ie8-compatibility-mode css-hack

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

7 个答案:

答案 0 :(得分: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应该远远超过......),为现在和未来发展,之后你可以关心那些仍然坚持旧技术的人(基于您的受众和商业计划。)

答案 1 :(得分:5)

答案 2 :(得分:5)

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

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

答案 3 :(得分:2)

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

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

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

答案 4 :(得分:0)

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

答案 5 :(得分: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黑客。

答案 6 :(得分:-1)

ie8:最好的方法是

body{background:#f00\0/;}

\ 0 /是Ie8 CSS Hack