我知道这个问题很老,但希望这是您正在寻找的(因为没有答案)。而且我也不知道在你的 CSS 中添加一个特异性类是否违反了你不重复 CSS 的要求。
您可以通过更改查询的定义来实现您想要做的事情@media
。基本上,与其说您希望屏幕变得小于某个值时发生某些事情,不如让您的小屏幕 CSS 远离媒体查询,并为更大的屏幕设置媒体查询。
然后,您只需要更改调用 CSS 的顺序,并将特定性添加到要调用 class 的样式中like-small
。
HTML:
<div class="wrapper like-small">
<div class="a"></div>
<div class="b"></div>
</div>
<div class="wrapper">
<div class="a"></div>
<div class="b"></div>
</div>
CSS:
.wrapper.like-small .a,
.wrapper .a {
height:200px;
width:200px;
background:purple;
}
.wrapper.like-small .b,
.wrapper .b {
height:200px;
width:200px;
background:blue;
}
@media all and (min-width: 400px), (min-height: 300px) {
.wrapper .a {
height:100px;
width:100px;
background:yellow;
}
.wrapper .b {
height:100px;
width:100px;
background:red;
}
}
和小提琴:http: //jsfiddle.net/disinfor/70n37hhj/
希望这就是你所追求的(一年半以前:)