2016-03-17 77 views
3

如何創建在任何設備上都不會被選中的媒體查詢斷點?如何設置無法滿足的媒體查詢條件?

我見過人們使用像only speechonly screen and (min-width: 1000em)這樣的東西,但這些看起來像是等待發生的尷尬情況。我還希望任何其他開發人員閱讀代碼時更乾淨直觀。

是否有可能創建一個不可能的媒體查詢?


如果你想知道「爲什麼要這麼做?」在我的情況,那是因爲我試圖關閉條件的第三方模塊,它是硬編碼做一些不受歡迎的如果某個媒體查詢得到滿足,則返回某個斷點。基本上,它有不必要的寬屏幕視圖,不必要地刪除有用的功能。

這個第三方模塊沒有讓我關閉此條件或修改的不良行爲,沒有黑客核心模塊代碼,將與未來的更新打破,但它確實讓我重寫它與任何默認的媒體查詢串。所以,我正在尋找最乾淨的不可能媒體查詢與不良行爲相關聯,以便它永遠不會發生。

回答

2

除了OP的回答,not關鍵字在媒體查詢規範中進行了說明。

2. Media Queries

邏輯NOT可以通過not關鍵字來表示。 在媒體查詢 開頭的關鍵字not的存在否定了結果。

3.1. Error Handling

用戶代理代表媒體查詢作爲not all時是不知道的 指定的媒體的特徵之一。

使用此關鍵字可以很容易地「設置不能滿足媒體查詢條件」,在這個問題提出要求。

下面是它如何工作的:

@media not screen and (min-width: 1000px) { body { background-color: green; } } 

這意味着在屏幕尺寸小於1000像素寬的情況下,不執行該代碼。換句話說,媒體查詢將在屏幕尺寸小於1000像素時執行。這相當於:

@media screen and (max-width: 1000px) { body { background-color: green; } } 
3
not all 

...邏輯上的意思是「沒有任何設備」。它似乎是一種全面否定的工作。

not all經常被用於結構像not all and (some other condition)dev.mozilla gives some examples),意爲「不,如果其他條件爲真,任何設備上」,所以這是一個完全有效的配對。

2

匹配都低和高寬度不能滿足,所以我想到了:

@media screen and (max-width: 123px) and (min-width: 4321px) { 
    /* Never ever */ 
}