【技术支持】关于html中移动端innerwidth的问题

首先看问题

移动端web相关

屏幕是375*667

html 复制代码
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8" />
        <!-- <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=0" /> -->
        <meta name="viewport" content="width=device-width, initial-scale=2.0" />
        <title>Document</title>
        <style>
            * {
                margin: 0;
            }
            #test {
                height: 100px;
                background-color: aquamarine;
            }
        </style>
    </head>
    <body>
        <div id="test"></div>
        <script>
            let div = document.getElementById("test");
            console.log(window.innerWidth); //375
            console.log(document.documentElement.clientWidth); //375
            div.style.width = 970 + "px";
            console.log(window.innerWidth); //971
            console.log(document.documentElement.clientWidth); //375
        </script>
    </body>
</html>

此代码在桌面端正常,在移动端有些异常,移动端的window.innerWidth不是视口大小,会变化

解决办法就是<meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=0" />,添加user-scalable=0

相关推荐
Penge6661 小时前
JavaScript:BOM 详解
前端
Penge6662 小时前
Vite vs Webpack:前端构建工具原理与实战
前端
Penge6662 小时前
前端包管理工具:npm、Yarn、pnpm 快速入门
前端
Penge6662 小时前
Sass 了解
前端
Penge6663 小时前
Webpack 打包从 0 到 1 实战笔记
前端
Penge6663 小时前
Webpack 入门:是什么、为什么需要、怎么使用?
前端
Penge6663 小时前
Ant Design(Antd)了解
前端
wangruofeng3 小时前
同一行代码,百种渲染:Asuka、React Native 与 Flutter 跨平台渲染机制深度拆解
前端·github
Penge6664 小时前
JavaScript 核心语法速通
前端
wangruofeng5 小时前
写给开发者的〈重构 UI〉实战笔记:从改好一个设置页开始,告别“程序员审美”
前端·aigc