css - 媒体查询 : error using min-width

标签 css media-queries

我使用以下代码来仅在大屏幕上显示某些元素:

.forkit, .forkit-curtain {
  display: none;
}

@media only screen and (min-width: 1400px) {
  .forkit, .forkit-curtain {
    display: block;
  }
}

但是当屏幕为 1300px 时,元素会显示并且仅在宽度为 1250px 时隐藏,因此媒体查询 min-width 1400px 也适用于屏幕尺寸稍小的情况,这是一种不良行为。

我不知道为什么媒体查询的屏幕尺寸不好。发生了什么事?

谢谢

最佳答案

我怀疑差异不是 50px,而是接近 20px。更重要的是,我怀疑它对所有浏览器的 react 都不一样。尝试比较 Chrome 和 Firefox 的断点。如果它们偏离约 20 像素,则差异是因为:

IE、Firefox 和 Opera follow the W3C spec 在媒体查询中包含滚动条宽度,而 Webkit 浏览器则没有。

因此,当您要求浏览器在 1400 像素处触发时,在大多数浏览器中它会在大约 1383 像素处触发。

目前您不能强制浏览器以同样的方式对待它,因此最好的选择是修改您的布局,使其与媒体查询中的宽度不那么紧密相关(添加额外的边距)。使用这样的布局,当它提前或延迟触发几个像素时,不会产生太大的差异。

关于css - 媒体查询 : error using min-width,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14956568/

相关文章:

css - 当宽度不够时,通过 CSS 自动减小背景图像集的大小

html - 如何对齐自举网格

javascript - 将样式添加到随机加载的 div - 无法正常工作

html - 使用媒体查询时试图将我的背景视频居中

css - *只需使用最小宽度* 隐藏一个 div 元素

css - HTML5 & CSS - 媒体查询运算符问题

html - Bootstrap 面板在 IE-8 中显示为左对齐

html - 在同一高度向左/向右拉

iPhone 缩放 : Can't see full website

css - 我的 css 文件 : css3 document is not a known @ directive 中的警告/错误