1

我刚刚失去了一个小时试图为 IE 优化网站。我没有以正常的方式做到这一点,我对一些 div 使用了这样的技巧来解决它:

<!--[if !IE]><!-->
div1 for non IE
<!--<![endif]-->

<!--[if IE]>
div1 for IE
<![endif]-->

现在它在 IE 中可以正常工作,但是可以使用这些解决方案吗?

4

2 回答 2

2

当我开发一个网站时,我总是清楚不同的浏览器对 HTML 的解释不同,并且他们的网站在 IE 中看起来可能与在 Chrome、Safari 等中略有不同,但整体外观、含义和功能都会起作用。另外我总是让他们知道我不是为 IE6 和更早版本构建的,网站将可见,但一些基本功能和布局原则将无法正常工作。(我还向他们展示了仍在使用 IE6 的用户百分比)。客户是否明确要求 <IE6 网站?额外收费!

这是您应该问的问题:您的网站在所有浏览器中看起来完全一样对您来说有多重要?

其余的,可以使用针对不同浏览器的不同样式表来优化跨浏览器兼容性。但是,我建议尽量减少样式表的数量,并尽可能多地使用适用于所有浏览器的 CSS 属性。

于 2012-07-30T10:50:21.540 回答
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 特定样式表应该是非常新的行 - 幸运的是,从那个版本开始,它们非常符合标准。

于 2012-07-30T10:39:39.833 回答