我目前有一个CSS,其规则在.small
和#a
的媒体查询中都是重复的,因为当浏览器宽度小于600px并且单击按钮时我想要相同的行为
在我的实际情况中,规则很长,我想避免复制它们。 如何重复删除这样的CSS?
$('#b').click(function(){ $('#a').addClass('small'); });

#a { background-color: green; }
.small { background-color: yellow !important; /* many other rules */ }
@media (max-width: 600px) {
#a { background-color: yellow !important; /* many other rules */ }
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div id="a">Hello</div>
<input id="b" type="button" value="Change" />
&#13;
答案 0 :(得分:0)
我认为没有办法在纯CSS中执行此操作,这是您可以使用SASS之类的预编译器解决的问题之一,您可以在任何地方使用变量或{{3例如
答案 1 :(得分:0)
我可以考虑使用Javascript解决您的问题。
window.onresize = function(event){
if(window.innerWidth < 600px){
// add the class to the element
}else{
// remove the class
}
}
如果不使用预编译器,我认为你不能以任何其他方式实现你想要的东西。
答案 2 :(得分:0)
您必须使用CSS预处理器才能执行此操作。
否则你必须使用jQuery根据视口宽度切换其他类,或者将.small
样式分配给#a
,然后制作媒体查询以在你不要时撤消它不希望它看起来像那样。