【发布时间】:2011-03-10 21:19:52
【问题描述】:
有如此多的样式表和 javascript 库,通过迫使 Internet Explorer 表现得更加合理,让设计师的生活变得更轻松合理 - 但我对可能性的范围感到不知所措(@ 987654321@、DD_belatedPNG、ie7-js、css3pie 等)。
您使用什么堆栈以及为什么?
【问题讨论】:
标签: html css internet-explorer
有如此多的样式表和 javascript 库,通过迫使 Internet Explorer 表现得更加合理,让设计师的生活变得更轻松合理 - 但我对可能性的范围感到不知所措(@ 987654321@、DD_belatedPNG、ie7-js、css3pie 等)。
您使用什么堆栈以及为什么?
【问题讨论】:
标签: html css internet-explorer
我唯一使用的是您提到的 PNG 透明度修复 (DD_belatedPNG)。对于 IE6 和 7,如果您了解常见错误及其解决方案(例如 IE6 box model bug),我发现您可以通过为每个浏览器使用特定样式表轻松解决这些问题。
查看conditional comments,它提供了一种针对给定标记仅针对特定版本的 IE 的方法,因此您可以做一些事情,例如有条件地包含不同的样式规则。例如,如果您需要支持 IE6,则为 IE6 创建一个 CSS 文件,并像这样包含它:
<!--[if LTE IE 6]>
<link href="/path/to/ie6.css" rel="stylesheet" type="text/css" />
<![endif]-->
此外,验证器的使用非常有用,因此请查看markup validator 和CSS validator。在很多情况下,Firefox 和其他浏览器对糟糕的标记很宽容,但 IE 会以惊人的方式失败。验证器是省去很多麻烦的好方法。
最后,始终在标记中包含doctype 作为第一个元素,否则将在 IE 中触发怪癖模式,IE 本质上是 IE 5.5 渲染引擎(如果你正在尝试,你通常不想要它支持标准投诉浏览器)。
编辑: 只是为了回答你原来的问题,我之所以没有真正使用任何提到的解决方案是因为 IE6 和 7 是唯一有问题的孩子。我从来不需要使用 IE8 特定的样式表,所以痛苦只限于这两个浏览器。当涉及到 Javascript 时,jQuery 将处理跨浏览器的细节,所以这也是一个巨大的帮助。
【讨论】:
要让 IE 6 + 7 运行良好,最重要的事情是使用 CSS 重置,并确保您的 HTML 有效。
【讨论】: