2016-08-13 47 views
2

此媒體查詢不像我期望的那樣工作。如何在一個媒體查詢中合併最小寬度和最大寬度

我想要做的就是隱藏一個元素,如果窗口低於544px,並且還隱藏它,如果它高於767px。所以它只會在窗口在544px和767px之間時可見。

@media (max-width: 544px) and (min-width: 767px) { 
    .show-sm-only { 
     display: none !important; 
    } 
} 

看來他們分開工作,但不在一起。

我該如何做到這一點?

回答

11

您可以在一個組合兩個媒體查詢,像這樣:

@media (max-width: 544px), (min-width: 767px) { 
.show-sm-only { 
    display: none !important; 
} 
} 

編輯這會在屏幕上隱藏.show-sm-only小於(最大寬度)544px並且屏幕比(最小寬度)767px大。

3

你想要這個,你的規則是錯誤的方式。現在你說它必須小於(最大寬度)544px,但大於(最小寬度)767px,這是不可能的。看下面他們是如何相反的。

編輯根據評論。要做到or(而不是and,這對於你的情況是不可能的),用逗號分隔:

@media (max-width: 544px), (min-width: 767px) { 
    .show-sm-only { 
     display: none !important; 
    } 
} 
+0

我試過了,這和我想要的相反:它隱藏它在544px和767之間。 –

+0

我明白了!誤解了這個問題。道歉。 –

+1

@GregGum其實這仍然適用。請記住,**兩條**規則必須是真實的(因此中間是'和')。您需要用逗號分隔OR規則。 –

2

如果您希望在BOTH條件爲真(我認爲這是您要查找的內容)時應用的媒體查詢,請使用另一個and。這裏默認是隱藏的,只有在544px到767px之間纔可見。

.my-element { 
    display: none; 

    @media (min-width: 544px) and (max-width: 767px) { 
    display: block; 
    } 
} 
相關問題