【发布时间】:2010-07-05 11:56:39
【问题描述】:
我创建了一个网页,它在 firefox、opera 等中运行良好,但在 internet explorer 6 中失败 所以我需要检查 Internet Explorer 的版本并更改 css 代码...
请帮助我如何做到这一点
【问题讨论】:
标签: java javascript css
我创建了一个网页,它在 firefox、opera 等中运行良好,但在 internet explorer 6 中失败 所以我需要检查 Internet Explorer 的版本并更改 css 代码...
请帮助我如何做到这一点
【问题讨论】:
标签: java javascript css
要针对特定版本的 Internet Explorer,请使用 conditional comments。这些 cmets 将仅被解析为指定的 IE 版本。
来自链接的 quirksmode.org 页面的示例:
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
另一种定位浏览器版本的方法是 CSS hack,但这些通常很糟糕,并且会降低代码的可读性和可维护性。如果您需要针对 IE 以外的浏览器,我建议在服务器端检测浏览器版本并提供适当的样式表。一个 PHP 示例是 here。
【讨论】:
Conditional comments 是你的朋友:使用他们
【讨论】:
HTML
<!--[if IE 6]>
IE 6 STYLE GOES HEERE
<![endif]-->
你不需要 javascript。
【讨论】:
您可以采用完全不同的方法是使用 Javascript 生成 CSS。
您可以使用变量、条件、函数、闭包来生成您的 CSS,而且速度非常快。
我们在我们的应用程序的移动版本中使用它。
为了稍微正式化,我们开发了一个托管在 github 上的模块:
http://github.com/pure/jstyle
JSON 符号最终与真正的 CSS 非常相似。
仍有需要改进的地方,但它对我们来说做得很好。
【讨论】: