我可以在IE7中测试并假设> IE7看起来一样吗?

时间:2012-12-08 20:03:57

标签: css internet-explorer

我在IE7,Safari,Firefox和Chrome上测试我的页面。

我已经采用了向html添加类的想法,以便能够绝对地编写自定义CSS调整,肯定没有其他方法可以做到这一点。换句话说,我不滥用这个设施。

我用这个:

<!DOCTYPE html>
<!--[if lt IE 7]>      <html class="no-js ie-all lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]>         <html class="no-js ie-all lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]>         <html class="no-js ie-all lt-ie9"> <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js"> <!--<![endif]-->
    <head>

您会注意到这是HTML5Boilerplate方法的修改版本,因为我正在添加ie-all。这样做的原因是,根据标题,我只在IE7上进行测试。如果没有类似ie-all类的东西,我必须从其他类中选择一种即调整。除了测试所有版本的IE之外,我还能处理这个问题吗?

我确实认识到ie-all目前相当于lt-ie9。我完全希望看到这段代码演变成一个lt-ie10类,这可能会改变一些事情。不知道最好的方法是什么。

编辑:

在重新阅读我的问题时,我认为大多数人可能会认为答案是不言而喻的:无法在IE7上进行测试并让它适用于较新版本的IE。我认为我应该用上下文澄清。

在过去的几年里,我一直在做这件事,并没有遇到任何严重的问题。要重复。 我一直在测试IE7,我的代码在IE的新版本上没有问题。只有当我决定“现代化”我的样板并看看我意识到的其他想法时,有些人必须为每个版本的IE编写自定义CSS。

我没有看到需要调整每个版本的IE。我已经浪费了无数个小时来解决IE7上Chrome,Safari和Firefox上不存在的问题。当我这样做时,它总是在其他版本的IE上运行良好。因此,我对HTML5Boilerplate的修改以及添加单个ie-all类来涵盖这些特殊调整的想法。

除此之外,我现在正在探索更漂亮的JQuery UI想法,我认为,对于仅在IE7上进行测试可能反应不佳。

3 个答案:

答案 0 :(得分:2)

自IE7以来,Internet Explorer发生了巨大的变化,因此您绝对无法测试7并假设新版本也能正常工作。 IE7于2006年发布,即使按照当时的标准也非常差。

除非您想为每个版本提供类,否则我会为&lt; = IE8创建一个,为IE9及更高版本创建一个。

答案 1 :(得分:2)

如果您使用标准诱导文档类型编写符合标准的代码并使用渐进增强,那么您就可以了。仅这些实践就可以确保您的网站在今天以及过去几年中的每个版本的IE中都能很好地运行。人们今天(通常来说)使用Internet Explorer 问题的原因是因为他们没有做这些事情中的一个(或更多)。

请记住,Internet Explorer 10不再支持条件注释,因此请尽量避免使用这些注释,这取决于仔细编码和良好实践。

为了大大减轻支持各种浏览器测试所需的所有必要软件(以及某些情况下的硬件)的负担,请查看http://browserstack.com。您可以快速选择操作系统,浏览器和版本,并在几秒钟内在浏览器中启动并运行虚拟机。您甚至可以将此相同的服务用于 tunnel 到本地服务器/文件系统中以测试本地文件。

代码很好而且明智,IE不会是许多人认为的痛苦。

答案 2 :(得分:1)

您可以编写适用于所有浏览器的代码,就像我一样 - 从来没有遇到任何问题。

您应该始终在不同版本中进行测试。永远不要认为它会起作用。当我认为Firefox不会弄乱onClick内联属性的内容时,我就成了这个问题的牺牲品,但它确实(用“更正确”的JavaScript代替了它并打破了其他代码),同样的对于IE版本。

您最好的选择是使用IE10。在其开发人员工具中,您可以从7开始在所有版本的IE中进行测试。