【发布时间】:2020-01-15 03:39:45
【问题描述】:
我有一个非常简单的媒体查询。但是,它不起作用。代码如下:
<!DOCTYPE html>
<html>
<head>
<meta content="width=device-width, initial-scale=1" name="viewport" />
<style>
#landscape-div {
display: none;
}
@media (min-width: 800px) {
#landscape-div {
display: block;
}
}
</style>
</head>
<body>
<div id="landscape-div">fsfsfsfsfsdd</div>
</body>
</html>
预期结果:div 应仅在最小宽度超过 800 像素时显示。
但是,它一直在出现。为什么会这样?
编辑:按照答案的建议编辑代码。还是不行。
【问题讨论】:
-
一方面,您的 HTML 使用的是 ID,而您的样式使用的是 class。样式的顺序也很重要。尝试将媒体查询放在原始样式之后。
-
display: none将总是触发,因为它不合格,所以无论应用什么媒体查询都会立即被覆盖。 -
@Martin 那么解决方法是什么?我以前肯定用过这个。
-
@RayNorman 我下面的回答解决了这个问题。抱歉,一开始就含糊不清,但我现在已经对其进行了编辑,并且运行良好。 (按“展开sn-p”查看代码sn-p整页试一试)
-
如果你把你的查询写成@media only screen and (max-width: 600px) with display: none; display: none 会像 ray 预期的那样触发,但是,它必须这样写。 xD
标签: html css responsive-design media-queries