移动端屏幕适配的问题

移动端屏幕适配的问题

http://img1.sycdn.imooc.com//climg/5e441109093baf1e14420468.jpg

这是之前课程用的方法,但是我发现输出一直在980px,这是为什么:

http://img1.sycdn.imooc.com//climg/5e441132092d228104670156.jpg

这是手机屏幕低于980的时候输出都是980px,大于980px才输出正确值

但是即使是ip的375px的宽度,输出也是980px


正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,老师在课程中找到的适配函数和你的有一些不同,如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <!-- 需要添加 -->
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
    <script>
            (function () {
                'use strict';
                setRemUnit();
                window.addEventListener('resize', setRemUnit);
                function setRemUnit() {
                    var docEl = document.documentElement;
                    var ratio = 18.75;
                    //二者选一 
                    // 使用 clientWidth方法 (同学代码中方法)
                    var viewWidth = docEl.clientWidth || window.innerWidth;
                    // 使用getBoundingClientRect().width方法
                    //var viewWidth = docEl.getBoundingClientRect().width || window.innerWidth;
                    docEl.style.fontSize = viewWidth / ratio + 'px';
                    console.log(viewWidth);
                }
            })();

    </script>
</body>
</html>

是可以实现效果的:

http://img1.sycdn.imooc.com//climg/5e44b0b309770c7806590262.jpg

同学看下代码中是否添加了表示适配的meta标签呢?没有添加的话,打印结果就是980。

http://img1.sycdn.imooc.com//climg/5e44b07209569b6106730060.jpg

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

  • 楚楚提 提问者 #1
    我刚刚自己发现了,就是meta标签少写了一个字母,所以没有生效,然后就发现问题被回答了,O(∩_∩)O
    2020-02-13 10:35:58
提问者 楚楚提 2020-02-12 23:00:10

我记得之前做的项目,用这个是没问题的,能实现屏幕适配的,现在怎么不行了?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师