我刚刚失去了一生的时间,试图为IE优化网站。我以正常的方式做错了,我用一些div这样的技巧解决了它:
<!--[if !IE]><!-->
div1 for non IE
<!--<![endif]-->
<!--[if IE]>
div1 for IE
<![endif]-->
现在它在IE中正常运行,但是可以使用这些解决方案吗?
答案 0 :(得分:2)
当我开发一个网站时,我总是清楚地表明不同浏览器对HTML的解释不同,并且他们的网站在IE中看起来可能与Chrome,Safari等人看起来略有不同,但整体外观,含义和功能都会起作用。另外,我总是让他们知道我不为IE6和更老版本构建,网站将是可见的,但一些基本功能和布局原则将无法正常工作。 (我还向他们展示了仍在使用IE6的用户百分比)。客户端是否明确要求提供&lt; IE6网站?额外收费!
这是您应该问的问题:您的网站在所有浏览器中看起来完全相同对您有多重要?
对于其余部分,可以针对不同的浏览器使用不同的样式表来优化crossbrowser兼容性。但是,我建议尽量减少样式表的数量,并尝试尽可能多地使用适用于所有浏览器的CSS属性。
答案 1 :(得分:1)
这是一个相当糟糕的解决方案,根据我的经验,在大多数情况下没有必要。您应该尝试使您的标记保持一致,而不是针对不同的版本进行更改(除非像IE6下拉列表这样奇怪的情况,如表格布局) 但是没关系,为不同的IE版本提供多个样式表来处理不同IE版本的错误。
<!--[if IE 6]>
<link rel="stylesheet" type="text/css" href="ie6.css" />
<![endif]-->
<!--[if IE 7]>
<link rel="stylesheet" type="text/css" href="ie7.css">
<![endif]-->
<!--...-->
<!--[if !IE]><!-->
<link rel="stylesheet" type="text/css" href="standard-style.css" />
<!--<![endif]-->
从IE-8开始,你的IE专用样式表应该是非常流行的 - 幸运的是它们非常符合标准。