如何在不访问头部的情况下链接条件样式表
我在企业 CMS(自治/交织团队站点)中工作,它不允许我直接访问页面的头部。我只能链接样式表并添加外部js文件。通常我会添加条件注释来链接 ie6/ie7 样式表。在一些搜索中,我发现了一种在 js 中使用条件注释来定位 ie 的方法,以及基于
js 中的 jscript 版本的特定 ie 版本:
/*@cc_on
document.createStyleSheet("/css/all_ie_fixes.css");
/*@if (@_jscript_version = 5.6)
document.createStyleSheet("/css/ie_6.css");
/*@end
@*/
这似乎是一个丑陋的黑客。有什么建议吗?
I am working in an enterprise CMS (Autonomy/Interwoven Teamsite) that does not give me direct access to the head of a page. I can only link style sheets and add external js files. Normally I would add a conditional comment to link an ie6/ie7 stylesheet. In some searching I've found a way to target ie with conditional commenting inside js and specific ie versions based on the jscript version
in js:
/*@cc_on
document.createStyleSheet("/css/all_ie_fixes.css");
/*@if (@_jscript_version = 5.6)
document.createStyleSheet("/css/ie_6.css");
/*@end
@*/
This seems like an ugly hack. Any suggestions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
发布评论
评论(4)
有些人对此不以为然,但有一些针对 IE 的 css hack,并且不需要条件注释。
例如,只有 IE6 会读取这种样式:
* html p {color:red;}
IE6 太愚蠢了,无法读取这种样式:
html>body p {color:red;}
快速谷歌搜索会发现许多其他样式: http://www.webdevout.net/css-hacks#in_css-selectors
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
可能没有什么不丑陋的方法可以做到这一点。也就是说,使用 YUI 等库提供的用户代理检测 (相关的 YUI 文档)可以说会产生比上面的 hack 更清晰、更明确的代码。比如:
丑陋,是的。但意图是什么已经很清楚了。
There's probably no non-ugly way to do this. That said, using the user-agent detection provided by a library like YUI (relevant YUI doc) will arguably result in slightly clearer and more explicit code than the above hack. Something like:
Ugly, yes. But it's pretty clear what the intent is.