以下是來自Adobe docs。
媒體查詢規範還提供了關鍵字only
,其目的是從舊的瀏覽器隱藏媒體查詢。像not
一樣,關鍵字必須在聲明的開頭。例如:
media="only screen and (min-width: 401px) and (max-width: 600px)"
瀏覽器不承認媒體查詢期待一個逗號分隔的媒體類型的列表,並規範說,他們應該立即截斷每個值的第一個非字母數字字符是不是之前連字符。所以,早期瀏覽器應該解釋在前面的例子是這樣的:
media="only"
因爲是唯一沒有這樣的媒體類型,樣式表被忽略。同樣,舊的瀏覽器應該解釋
media="screen and (min-width: 401px) and (max-width: 600px)"
爲
media="screen"
換句話說,它應該將樣式規則應用於所有屏幕設備,即使它不知道媒體查詢意思。
不幸的是,IE 6-8未能正確實現規範。
而不是將樣式應用於所有屏幕設備,它會完全忽略樣式表。
儘管存在這種行爲,但仍建議僅在您希望隱藏其他不常用瀏覽器的樣式時,纔對媒體查詢加前綴。
因此,使用
media="only screen and (min-width: 401px)"
和
media="screen and (min-width: 401px)"
將在IE6-8同樣的效果:既會防止使用這些樣式。但是,它們仍然會被下載。
此外,在支持CSS3媒體查詢的瀏覽器中,如果視口寬度大於401px
且媒體類型爲屏幕,則兩個版本都將加載樣式。
我不能完全肯定它的瀏覽器不支持CSS3媒體查詢需要的only
版本
media="only screen and (min-width: 401px)"
,而不是
media="screen and (min-width: 401px)"
,以確保它不被解釋爲
media="screen"
對於有權訪問廣告的用戶來說,這將是一個很好的測試設備實驗室。
我還不是很清楚。我也更新了我的問題。你能舉個例子嗎? – 2011-12-21 18:47:00
如果您使用移動優先方法,該怎麼辦?因此,我們首先使用移動CSS,然後使用最小寬度來定位較大的網站。在這種情況下,我們不應該使用'only'關鍵字,對吧? – Ashitaka 2012-08-03 15:55:22
這個答案很容易理解! :)唯一的是隻是爲了保持舊版本,如IE 6或歌劇5或6加載數據,必須爲Android或Chrome 30或IE 10呈現..滿意答案sandeep :)值得+1 – 2013-10-19 00:12:01