2011-04-08 50 views
0

所以,假設我有一個內聯塊的元素。因此,這不會與IE6或FF2工作...如何通過做「功能」檢測來避免瀏覽器嗅探?

說我彌補它與CSS黑客和使用-moz-直列堆...

現在,讓我們說的inline-block的元素也位置:相對,所以它是一個容器,並有一個絕對位置的子元素,top:0,right:0.

在舊版瀏覽器中,子元素位於屏幕的右上角,而不是內聯塊塊容器元素的右上角...

現在,我可以通過在我的子元素周圍包裹一個div並使其'相對位置'來解決此問題...但我會如果可能的話避免產生不必要的標記。

起初,我想做的事:

if (browser == ie6 || browser == ff2) { 
    wrap child element with div for older browser.. 
} 
else { 
    assume everything is fine 
} 

但我想這樣會比較好做:

if (child element is at the top right of the screen) { 
    wrap child element with div for older browser.. 
} 
else { 
    assume everything is fine 
} 

所以我只是好奇,怎麼這裏的人會推薦這種的東西。

謝謝!

回答

2

一般而言,Modernizr最適合瀏覽器功能檢測。 Modernizr的

添加類的元素 ,讓你可以在你的 樣式錶針對特定 瀏覽器功能。你並不需要 寫任何Javascript來使用它。

雖然它可能不適用於您的特定場景,但Modernizr也會執行CSS功能檢測。例如,

你是否曾經想過做 if語句在你的CSS的 可用性很酷的功能,如 邊界半徑?那麼,與Modernizr 你可以完成這一點!