2012-07-24 81 views
1

想象一下...覆蓋媒體查詢中的重要規則集? !不重要?

@media screen and (min-width: 55.5em) { 
    aside[role="attend"] { 
     margin:0 !important; 
    } 
} 

@media screen and (min-width: 61.5em) { 
    aside[role="attend"] { 
     margin:0; /* still !important but shouldn't be */ 
    } 
} 

有沒有辦法覆蓋或「刪除」的!important聲明,所以它不是仍然較高min-width值內應用?

+4

是的,不要使用'!important',所以它不需要被覆蓋。它被那些通常不瞭解CSS如何工作的人濫用。不是一個真正的答案,因此是一個評論。 – ScottS 2012-07-24 21:28:16

+1

順便說一句 - 我以前的評論並不意味着你不知道css是如何工作的。但是,我的意思是暗示如果可能,通過重新配置該選擇器或其他css來移除違規的'!important'。 – ScottS 2012-07-24 21:33:58

回答

2

不;級聯的工作方式,無法撤銷!important聲明或使其「不重要」。

這與規則是否出現在不同的@media規則中或樣式表中的任何其他位置有關。這意味着它是相同的,彷彿你沒有足夠的媒體查詢那裏首先:

aside[role="attend"] { 
    margin:0 !important; 
} 

aside[role="attend"] { 
    margin:0; 
} 

,順便說一下,就是如果兩個min-width: 55.5emmin-width: 61.5em媒體查詢得到滿足什麼瀏覽器實際看到。

您最好找到一種方法來刪除!important,並在第一個@media規則中使用更具體的選擇器。