请老师检查一下

来源:3-7 自由编程

xiao白做大事

2021-03-18 17:45:10

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <meta http-equiv="X-UA-Compatible" content="IE=edge">

    <link rel="stylesheet" href="css/base.css">

    <link rel="stylesheet" href="css/index.css">

    <script src="js/flexible.js" type="module"></script>

    <title>Document</title>

</head>

<body>

    <nav class="nav-container">

        <ul class="nav">

            <li class="nav-item">

                <a href="" class="nav-link">

                    <img src="img/1.jpg" alt="" class="nav-img">

                </a>

            </li>

            <li class="nav-item">

                <a href="" class="nav-link">

                    <img src="img/2.jpg" alt="" class="nav-img">

                </a>

            </li>

            <li class="nav-item">

                <a href="" class="nav-link">

                    <img src="img/3.jpg" alt="" class="nav-img">

                </a>

            </li>

            <li class="nav-item">

                <a href="" class="nav-link">

                    <img src="img/4.jpg" alt="" class="nav-img">

                </a>

            </li>

        </ul>

    </nav>

</body>

</html>


index.css

.nav {

    displayflex;

    justify-contentspace-between;

    flex-wrapwrap;

    padding0 1.5rem;

    background-color#eee;

}

.nav-item {

    width50%;

}

.js

'use strict';


var docEl = document.documentElement,

viewportEl = document.querySelector('meta[name="viewport"]'),

dpr = window.devicePixelRatio || 1,

maxWidth = 540,

minWidth = 320;


dpr = dpr >= 3 ? 3 : (dpr >= 2 ? 2 : 1);


docEl.setAttribute('data-dpr'dpr);

docEl.setAttribute('max-width'maxWidth);

docEl.setAttribute('min-width'minWidth);


var scale = 1 / dpr,

content = `width=device-width, initial-scale=${scale}, maximum-scale=${scale},minimum-scale=${scale}, user-scalable=no`;


if (viewportEl) {

    viewportEl.setAttribute('content'content);

else {

    viewportEl = document.createElement('meta');

    viewportEl.setAttribute('name''viewport');

    viewportEl.setAttribute('content'content);

    document.head.appendChild(viewportEl);

}


setRemUnit();


window.addEventListener('resize'setRemUnit);


function setRemUnit() {

    var ratio = 18.75;

    var viewWidth = docEl.getBoundingClientRect().width || window.innerWidth;


    if (maxWidth && (viewWidth / dpr > maxWidth)) {

        viewWidth = maxWidth * dpr;

    } else if (minWidth && (viewWidth / dpr < minWidth)) {

        viewWidth = minWidth * dpr;

    }


    docEl.style.fontSize = viewWidth / ratio + 'px';

}



写回答

1回答

好帮手慕星星

2021-03-18

​同学你好,代码实现效果很棒。继续加油,祝学习愉快!

0

0 学习 · 15276 问题

查看课程