javascript - 媒体查询适用于浏览器,但不适用于移动设备

标签 javascript css nuxt.js

我有一个 Iphone X 的媒体查询如下:

@media screen and (min-width: 374px) and (max-width: 376px) and (min-height: 811px) and (max-height: 812px) {
  .welcome-banner {
    background-image: url('~assets/images/landing/welcome-banner-iphonex.jpg');
    background-size: cover;
    background-position: center;
    height: calc(110vh - 64px);
    display: flex;
  }
}

它在 Chrome 上完美运行,但在移动设备上却不行。 我在 meta 上确实有视口(viewport)标签:

<meta name="viewport" content="width=device-width,initial-scale=1.0">

最佳答案

您的查询似乎是正确的,但请确保它确实是您正在测试的设备所需要的。您可以通过使用 javascript 将以下内容记录到控制台来获得正确的跨浏览器@media(宽度)和@media(高度)值:

var w = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var h = Math.max(document.documentElement.clientHeight, window.innerHeight || 0);
console.log(w,h);

同时重新检查 initial-scale 元和缩放,它们可能会弄乱您的设备视口(viewport)。

此外,该查询非常具体。如果你只是 - 我的意思是只是 - 想要定位这个设备那么没关系,但是对于更多的全局查询来说可能更好,我通常定位 320 和 767(比旧的 Ipad 小),如果需要的话可能是 480。

关于javascript - 媒体查询适用于浏览器,但不适用于移动设备,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59724000/

相关文章:

javascript - 当鼠标移到绝对定位的侄子文本上时,悬停效果在图像上丢失

javascript - 跨多个部分和幻灯片的相同图像 fullpage.js

javascript - 在 jQuery 中使用 setInterval 和数组更改多个元素的背景颜色

javascript - 悬停时 Div 出现在链接后面? - 查询/js

html - 在表格主体内添加滚动条

vuetify.js - 努克斯特 | Vuetify 主题 - 如何更改颜色?

javascript - Nuxt.JS http/2 帮助和建议

javascript - AngularJS - Ng 单击内部 ng 对所有项目重复

javascript - Jquery自动完成匹配字符串中的多个无序单词

nuxt.js - 如何在 Nuxt 配置中设置 .env 文件路径?