2015-02-24 57 views
3

是這樣的:「全部」是否向媒體查詢添加任何內容?

@media all and (min-width: @medium-min) { } 

與此相同?:

@media (min-width: @medium-min) { } 

我不能明白爲什麼將「全部」都會比不指定任何區別。不過我經常看到'全部'已被添加。有沒有需要這個的邊緣案例?

+0

文檔:https://developer.mozilla.org/en-US/docs/Web/CSS/@media – 2015-02-24 10:01:12

+0

我敢肯定這是一個重複的問題(這就是爲什麼我最初在提交它後立即刪除了我的答案),但我不記得我是否回答了任何先前的問題 - 看起來我沒有,因爲我無法在以前的答案中找到答案。好吧。 – BoltClock 2015-02-24 10:14:48

回答

2

是的,它默認設置爲全部。

所有設備聽這

可用的介質類型:

  • all:所有設備聽這
  • braille:用於盲文觸覺反饋設備。
  • embossed用於分頁式盲文打印機。
  • handheld用於手持設備(智能手機和平板電腦不要 聽此!)。
  • print用於分頁素材和文檔在屏幕上查看 打印預覽模式。
  • projection用於投影演示,例如投影儀。
  • scree n主要用於彩色電腦屏幕和智能手機。
  • speech用於語音合成..(無論其可以是)
  • tty用於使用固定間距字符網格(如 電傳打字機,終端,或便攜式具有有限顯示 能力的設備)的媒體。
  • tv用於電視類設備(低分辨率,彩色, 限制可滾動屏幕,聲音可用)。

參考http://cssmediaqueries.com/what-are-css-media-queries.html

3

您擁有的兩個實例確實是等價的。在這種情況下,暗示all關鍵字。從spec

爲適用於所有媒體類型的媒體查詢提供簡寫語法;關鍵字'all'可以被忽略(以及尾部的'和')。即如果媒體類型沒有明確給出,它是'全部'。

但是......

是否有此需要的特殊情況?

是:無論是onlynot關鍵字要求才能被指定爲媒體查詢是有效的媒體類型。這就是,如果你想在媒體查詢適用於所有媒體所需的all關鍵字:

@media only all and (min-width: @medium-min) { } 
@media not all and (min-width: @medium-min) { } 

可以在grammar看到這一點。如果你看一下media_query生產,你會發現,這裏省略了媒體類型的部分不包括[ONLY | NOT]? S*表達:

media_query 
: [ONLY | NOT]? S* media_type S* [ AND S* expression ]* 
| expression [ AND S* expression ]* 
; 

這是否是故意或不我不清楚,但實現這個榮譽完全,所以像not (min-width: 300px)這樣的東西將無法正常工作,並且它不會validate