我知道有条件评论:
<!--[if IE 9]>
<link rel="stylesheet" type="text/css" href="css/ie9-only.css" />
<![endif]-->
检测 Internet Explorer 9,但 Firefox 4 呢?如何仅为 Firefox 4 加载样式?
您不能以相同的方式“检测”firefox。条件注释是 IE 唯一的“功能”。您必须通过后端的用户代理字符串来检测它。或使用 javascript。
FireFox 中没有条件注释可以做到这一点,如果你真的需要你最好的选择是使用 jQuery(或类似的)来加载相关的样式表。
$(document).ready(function() {
if ($.browser.mozilla && $.browser.version == '2.0') {
$('head').append($("<link>").attr({type: 'text/css', rel: 'stylesheet', href: 'css/firefox4-only.css'}));
}
});
不过,我个人不推荐浏览器检测,如果需要,您应该使用 Web 标准和功能检测 :)
如果必须检测 FF4 的浏览器和版本,最好的答案是使用jQuery 的 browser() 方法。
但是,我同意@Gareth McCaughan 的评论:如果您发现自己必须进行浏览器检测(对于 IE6/7 和可能的 IE8 以外的任何东西),那么您很可能做错了什么。您在问题中将它用于 IE9 的事实表明您可能已经弄错了。
所有现代浏览器,包括 IE9 和 FF4 都具有出色的标准支持,编写良好的页面应该在所有浏览器中呈现几乎相同的内容。
如果与其他现代浏览器相比,您在 IE9 或 Firefox 4 中的呈现方式确实有所不同,请说明它是什么,因为可能有比浏览器检测更好的解决方案来绕过它。
在 FF4 中我只知道一件事可能需要你求助于这个,那就是text-overflow:ellipsis
,除了 Firefox 之外的所有现代浏览器都支持它。在此处查看我之前关于此主题的问题:文本溢出:Firefox 4 中的省略号?(和FF5)