Html 在不同的IE条件语句类中修复哪些CSS

Html 在不同的IE条件语句类中修复哪些CSS,html,css,internet-explorer,Html,Css,Internet Explorer,我试图找出是否有一个总结,所有的css修复添加的类(如lt-ie9,lt-ie8,lt-ie7等)在IE声明中的代码显示在保罗爱尔兰的网站: 如果没有这样的总结,我是否在实际测试浏览器之后修复css问题(并添加我在书籍/在线中遇到的那些修复) <!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]--> <!--[if lt IE 7]> <html class="lt-

我试图找出是否有一个总结,所有的css修复添加的类(如lt-ie9,lt-ie8,lt-ie7等)在IE声明中的代码显示在保罗爱尔兰的网站:

如果没有这样的总结,我是否在实际测试浏览器之后修复css问题(并添加我在书籍/在线中遇到的那些修复)

<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if gt IE 8]><!--> <html class=""> <!--<![endif]-->


是的,在每个浏览器中进行测试,然后添加所需的任何内容。

有一项服务,可以帮助您查看css功能支持


因此,您可以看到哪些代码会在较低的浏览器版本中造成困难。

很多时候,您不需要(或不应该)IE特定的类。在今天的网络中,编写特定于特定浏览器或版本的代码被认为是不好的做法;在大多数情况下,最好检测您需要的功能是否受支持,而不是检查浏览器本身

这有许多优点;最主要的一点是,它使您无需了解所有的浏览器功能以及哪些浏览器支持这些功能。这也意味着,如果有人使用另一个没有给定功能的旧浏览器访问您的站点,您的代码将继续工作。但它也有一些优点,可以使您的代码更干净,将来更容易使用。有一个名为的库,它执行与您引用的代码类似的操作,但会根据浏览器支持的功能添加类。事实上,编写您引用的代码的Paul Irish也是Modernizer的首席开发人员

您可以在或中检查IE对不同版本中各种功能的支持。CanIUse更适合于检查较新的浏览器功能,但Quirksmode更适合于检查基本CSS功能,因为它具有更细粒度的细节

旧IE版本中缺少的许多功能可以通过“polyfill”脚本实现。例如,是一个脚本,它为旧的IE版本添加了对
边界半径
、CSS渐变和其他功能的支持。很多时候,让浏览器做它自己的事情,忽略缺少的功能(例如圆角很好,但是如果缺少这些功能,网站不会停止工作),但是如果你发现自己需要某些功能,并且你必须在所有浏览器中都支持它们,那么有一个好方法可以尝试(顺便说一句,这份名单是由Modernizer提供的,所以他们应该都能很好地配合它)

因此,对于旧IE版本中缺少的特性,您不应该需要IE特定的类

您可能需要IE特定类的唯一时间是处理浏览器错误

目前还没有一个关于所有已知IE漏洞的明确列表(我也不知道),但网上有很多网站提供了这些漏洞的详细信息以及如何处理它们

首先,确保IE在标准模式下呈现页面。如果你在怪癖模式或兼容模式下,你可能会遇到问题。特别是避免怪癖模式将消除IE在历史上名声不好的最糟糕的布局怪癖

如果你不幸需要支持IE6,你需要了解它的各种缺陷以及如何解决它们。它们有很多,并且能够隔离这些缺陷修复,使它们只适用于受影响的IE版本非常重要,这样你的IE类就会派上用场

IE的更高版本有更少的bug;IE8表现相对良好,坦率地说,在浏览器特定的bug修复方面通常不需要太多。尽管IE7仍然有问题,IE6只是很可怕。这里的关键是知道什么时候你被特定的bug击中,并相应地发布CSS修复


对于这一点,你的第二个问题的答案是:是的,你只需要测试,测试,测试,当你在IE的任何版本中看到一些奇怪的东西时,你需要调查它,找出原因,如果它是一个bug,就适当地处理它。

有条件地附加这些类并不能从本质上修复它们简单地给出的任何东西你可以用一种非黑客的方式在你的CSS中定位特定版本的IE。这篇文章大约5年前发表。现在,浏览器检测被认为是一种不好的做法。试试功能检测工具,比如.Polyform“插入”功能,以防浏览器不支持但仍然无法修复错误。除了现代化检查功能之外无论如何,我应该记住现有的IE bug,以防我在将来遇到它,并且我已经立即引用了它,这是正确的吗?