我可以为mozilla firefox样式表添加if语句吗?

时间:2009-12-17 10:16:25

标签: firefox browser mozilla compatibility

您好我正在编辑一个与Internet Explorer兼容的网站,因此它无法在Firefox中运行。

有没有办法添加firefox或mozilla样式表?

谢谢你的帮助 朱迪

<!--[if FIREFOX]>
    <link rel="stylesheet" type="text/css" href="/AEBP_Homepage_12887/css/firefox.css" />
<![endif]-->

4 个答案:

答案 0 :(得分:7)

你不能做任何像IE的Paul Irish解决方案那样优雅的东西,但你可以使用以下方法创建一组特定于FF的定义:

@-moz-document url-prefix() { CSS BLOCK }

在任何人开始上下尖叫之前“除非你出现错误,否则不应该发生这种情况” - 当我们谈论Firefox vs Chrome与IE字体渲染在严格约束的网格上时会发生很多事情从左到右文本对齐。

您也可以尝试使用CSS浏览器选择器:

http://rafael.adm.br/css_browser_selector/

这个简单的JS文件允许您将.gecko和.ff3等内容附加到CSS中。

*附录 - 2014 *

我想真正追加这个,因为两年后,标准解决方案是通过modernizr.js而不是浏览器检测来执行特征检测。 “Firefox”是一种非常生硬的工具,所有版本都悬挂在网络上。这个答案仍然有效,除非你非常特别需要浏览器,所有版本,否则不是推荐的解决方案。

答案 1 :(得分:3)

使用php的一种方法是查看用户代理并查看它是什么浏览器。这就是我使用的:

前:

if (preg_match('/Firefox|Chrome|Opera|Safari|MSIE 8.0/', $_SERVER['HTTP_USER_AGENT'])) { 

link rel="stylesheet" href="one.css" type="text/css" media="screen"
}

else {
link rel="stylesheet" href="other.css" type="text/css" media="screen"
}

同样在preg_match功能中,您应该输入所需的代理。 请记住,如果您不了解php,我编写的示例需要编辑和更正格式化。

答案 2 :(得分:2)

不,条件评论完全是Internet Explorer的事情AFAIK。

但是,您可以创建IE将解析的条件注释,因此仅适用于非IE浏览器:

<![if !IE]>
<link rel="stylesheet" type="text/css" href="/AEBP_Homepage_12887/css/firefox.css" />
<![endif]>

但这不是有效的HTML。似乎有解决方法使其有效。查看Wikipedia article中的“Downlevel-Revealed条件评论”段落。

答案 3 :(得分:2)

没有。 <!--[if IE]><![endif]-->语法是特定于Internet Explorer的。它是CSS的非标准微软扩展。

有关详细信息,请参阅conditional comments