html - 媒体查询被忽略

标签 html css responsive-design media-queries

我有两个 Logo :一个用于小屏幕,一个用于大屏幕。

这不是同一图像的不同分辨率,而是两个非常不同的 .png 文件,因此我无法使用缩放功能。在尝试使用它们时,我在 .jsp 页面中创建了以下 media queries,目的是编辑 div 框以便将文件显示为 背景图片:

<style>
    <meta name="viewport" content="width=device-width, initial-scale=1">
@media (min-width: 1200px) {
  .zachery_div {
    background: url(/assets/img/LargeLogo.png);
        width: 764px;
        height: 76px;
        float: right;
  }
}

@media (max-width: 1199px) {
  .zachery_div {      
     background: url(/assets/img/SmallLogo.png);
        width: 262px;
        height: 76px;
        float: right;
  }
}
</style>

但是,当窗口的 width 低于 1199px 时,这只会给我较小的 Logo 。

如果我将窗口扩展到 1200px 或以上,我什么也收不到。

两个图像都是有效的,因为交换它们的位置允许我调用其中一个,但不能同时调用两个。

你们谁能告诉我我的代码有什么问题吗?

最佳答案

当使用移动优先方法 (min-width) 时,较小的值优先,因此您的代码将是:

.zachery_div {
  height: 76px;
  float: right;
}
@media (max-width: 1199px) {
  .zachery_div {
    background: url(/assets/img/SmallLogo.png);
    width: 262px;
  }
}
@media (min-width: 1200px) {
  .zachery_div {
    background: url(/assets/img/LargeLogo.png);
    width: 764px;
  }
}
<meta name="viewport" content="width=device-width, initial-scale=1">

请注意,meta 标签 不应位于style 标签内。但在 style

之前的 head

因为你有重复的属性,我把它们放在 @media 之外,因为它们是整个代码的“标准”

关于html - 媒体查询被忽略,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37841946/

相关文章:

javascript - Skrollr 淡入淡出文本不起作用,但所有其他 skrollr 元素都起作用

html - 将宽度设置为绝对定位元素的百分比

javascript - 使内部 div 与容器高度相同

jquery - bounceInDown 动画结束后, Assets 在 Internet Explorer 10 中变得不可见

javascript - 使用 CSS/jQuery 的响应式字体大小

php - 有条件的 jwplayer6 宽度和高度取决于包装大小

css - 使用半响应式网页设计,选择什么网格?

JavaScript 不会计算我的结果并将其输入回我的表单中

html - 隐藏其中一个时,同一行中的多个 h1 标签不起作用

css - Bootstrap 3.2 : Button group and input group on same line in form