【发布时间】:2013-07-01 10:48:46
【问题描述】:
我正在使用以下 CSS 来隐藏我的标签并显示一个标签 #aside-expander,以便用户在浏览器宽度小于 1200 像素时根据需要查看它。
@media screen and (max-width: 1200px) {
aside#global-widget-base {
display: none !important;
}
#aside-expander {
display: inline !important;
}
}
当在#aside-expander 元素上使用点击处理程序以再次显示时,该元素不会显示。我认为这是由于在样式元素上使用了 !important。
$('#aside-expander').click(function() {
$("#global-widget-base").css("display", "inline");
});
我想知道是否有人能够提供关于如何按需显示此元素的解决方案?我已经尝试将 !important 应用于我的 jQuery .css 函数,但无济于事。
【问题讨论】:
-
你真的需要 !important 吗?应该避免
-
内联样式也应该覆盖甚至重要的样式——你能确保css完全应用于元素吗?检查元素检查器 - 它是应用但被删除还是根本不存在?
-
没有
!important的内联样式不会覆盖来自样式表的重要样式。 -
使用
attr替换样式属性的快速而肮脏的解决方案。 jsfiddle.net/V77cb