有一个简单的html,如下所示
<div id="break" style="display:none">
<br />
</div>当用户缩小窗口大小时,我试图显示中断。我正在使用css3媒体查询。我试过如下
@media only screen and (max-height :510px){
#break
{
display:inline;
}
}但这段插曲没有出现。我遗漏了什么吗?
发布于 2014-02-04 21:25:23
您正在应用显示:none;通过内联HTML (style="display:none")进行样式设置。默认情况下,CSS不覆盖内联样式。为了让CSS覆盖内联样式,请使用“重要;声明”:
@media only screen and (max-height :510px) {
#break
{
display:inline !important;
}
}这是一个小提琴。
发布于 2014-02-04 21:27:26
您可以首先将display放入外部样式表,而不是内联,在该样式表中,它将覆盖CSS属性。
发布于 2014-02-04 21:39:32
这是由于style属性的特殊性。下面是CSS2规范中的一句话(更具体的是:专一性区段):
由于级联规则3,“样式”属性中的声明将覆盖样式元素中的声明,因为它具有更高的特异性。
不要对术语STYLE element感到困惑,这也涵盖了来自外部样式表的CSS规则。
因此,除了这是显示中断行的一种稍微奇怪的方式之外,您只需将display: none;行放入您的CSS文件或<style>元素中即可。
#break
{
display: none;
}
@media only screen and (max-height: 510px){
#break
{
display: inline;
}
}https://stackoverflow.com/questions/21563490
复制相似问题