我必须承认,在使用CSS之前我从来不必担心Firefox版本,但出于某种原因,与FF2和FF3.0相比,FF 3.5没有正确定位我的一些元素。
现在我面临必须检测其FF 3.5。
以下是我在FF和IE上处理CSS时所做的事情:
<!-- MAIN STYLESHEET -->
<link rel=stylesheet href="./inc/style.css" type="text/css">
<!-- IE STYLE SHEET -->
<!--[if IE]> <style type="text/css">@import "./inc/style.ie.css";</style>
<![endif]-->
现在我需要添加第三个选项,但是如何?有没有办法做到这一点,还是我面临必须实现某种JavaScript解决方案?
谢谢 -
答案 0 :(得分:9)
我的(短期)解决方案是使用这样的jQuery:
$(document).ready (
function() {
if ( $.browser.mozilla == true && $.browser.version == '1.9.1' ) {
// modify css here
}
}
);
注意$ .browser.version不是你想象的那样3.5(而是返回渲染引擎版本)。此外,$。浏览器显然没有firefox值,只是为所有基于mozilla的浏览器返回mozilla。
假设这符合我的短期需求。谢谢 -
答案 1 :(得分:3)
使用浏览器标签无法做到这一点。您将不得不使用浏览器嗅探(使用JavaScript来检测浏览器),以加载正确的样式表。
如果您使用的是像Mootools或jQuery这样的JavaScript库,那么有一些功能可以做到这一点。
作为另一种解决方案,您还可以在服务器上检测它,然后发送备用样式表。
答案 2 :(得分:3)
我要做的第一件事就是尝试在没有特定于浏览器的CSS修复的情况下解决问题。通常需要更多考虑才能提出跨浏览器解。在这里发布您的CSS问题,然后我们可以尝试修复它:)
但是要直接回答你的问题,不幸的是你将不得不使用Javascript来完成这个问题。但幸运的是,有一个非常简单的解决方案。
加载此JavaScript文件,然后您可以使用以下属性:
然后你可以做类似的事情:
if (BrowserDetect.browser == 'Firefox' && BrowserDetect.version == '3.5')
{
// Load CSS file
}
答案 3 :(得分:1)
看起来有一个CSS解决方案,试试这个
@-moz-document url-prefix() {
.selector {
color:lime;
}
}
答案 4 :(得分:0)
Firefox没有条件评论。您可能必须检查用户代理并在结果上包含样式表。
答案 5 :(得分:0)
您可以使用JavaScript检查userAgent