2009-12-17 88 views
2

嗨我正在編輯一個網站已與Internet Explorer兼容,所以它不能在Firefox中工作。我可以爲mozilla firefox樣式表添加if語句嗎?

有什麼辦法可以添加firefox或mozilla樣式表嗎?

感謝您幫助 朱迪

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

我認爲你不能... – 2009-12-17 10:17:36

+1

如何將與FF不兼容的更改移到IE瀏覽器樣式表中?很有可能,這將有助於提高向前兼容性,因爲幾乎可以肯定的是,爲了使其在IE中工作,必須採取的措施依賴於IE對Web標準的一些片面實施。 – 2009-12-17 10:29:42

回答

2

編號<!--[if IE]><![endif]-->語法是Internet Explorer特定的。它是CSS的一個非標準的微軟擴展。

查看conditional comments瞭解更多詳情。

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條件註釋」段落。

+0

這是無效的標記,但是,對嗎? – Joey 2009-12-17 10:19:23

+0

的確,我只是想知道自己(以前從未使用過)。維基百科文章中還有更多,我會添加一個筆記。 – 2009-12-17 10:21:37

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,我寫的例子需要編輯和正確的格式。

7

你不能做任何事情,優雅爲IE保羅愛爾蘭的解決方案,但使用您可以創建一個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而不是瀏覽器檢測到執行特徵檢測。 「火狐」是一個非常鈍的工具,所有的版本掛在網上。這個答案仍然有效,除非你特別需要瀏覽器,所有版本和其他東西,否則這不是推薦的解決方案。

+0

適合我。我知道FF和webkit是非常合規的,但你不能依靠這個糟糕的第三方css。 – Diana 2013-07-17 17:24:16

+0

對此進行了快速更新,因爲它已經兩年了。 – Imperative 2014-10-03 18:01:40