css - 我应该将默认声明与媒体查询样式表放在同一样式表上吗?

标签 css media-queries

我将默认声明放入 style.css 中,然后将所有媒体查询放入名为 enhanced.css 的不同样式表中。

例如,我在 style.css 中放置了如下代码:

.box{高度:600px;}

然后我在 enhanced.css 中放置了一段 css 代码,这样当它在较小的屏幕上时,框的高度就会减小。

@media 仅屏幕和(最小宽度:320px)和(最大宽度:480px){ .box{高度:300px;} }

但不幸的是它在小屏幕上不起作用。它始终遵循 style.css 中的样式。我的问题是,我可以做上面那样的事情吗?要将默认声明放在不同的样式表上,还是应该将默认声明与媒体查询样式表放在同一样式表上?

谢谢。

最佳答案

问题是你的选择器是相等的 specificity (@media 规则没有任何特殊性) - 两条规则都使用一个类选择器 (.box),并且因为您正在加载 .style.css enhanced.css 之后,前者优先。如果您想将 @media 规则包含在常规 .box 规则之前,则需要提高该规则的特异性 - 例如

@media only screen and (min-width: 320px) and (max-width: 480px) {
    body .box {
        height: 300px;
    }

关于css - 我应该将默认声明与媒体查询样式表放在同一样式表上吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18264480/

相关文章:

应用 float 时的 css 显示属性

html - 将显示值设置为 inline-block 的 div 居中

css - 使用 CSS 设置复选框的格式和位置

html - 如何使用媒体查询调整表格内文本的大小?

jquery - 如何将此媒体查询转换为 jquery?

html - css中的水平滚动

html - CSS 规则莫名其妙地没有被应用

image - 了解 Retina 设备 CSS 媒体查询

CSS @media 检查是否不是 Webkit

css - 是否可以在 Firebug 中编辑尚未应用于任何内容的 CSS 规则?