2012-07-24 71 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规则中使用更具体的选择器。