fengchuanyu 5 giorni fa
parent
commit
b9347e1751

+ 21 - 0
7_移动端/5_引入remjs.html

@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html lang="en">
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <script src="./js/rem.js"></script>
+    <style>
+        #box{
+            width: 2rem;
+            height: 2rem;
+            background-color: red;
+        }
+    </style>
+</head>
+<body>
+    <div id="box">
+        <!-- 我是一个盒子 -->
+    </div>
+</body>
+</html>

BIN
7_移动端/img/1.jpg


BIN
7_移动端/img/2.jpg


BIN
7_移动端/img/3.jpg


+ 29 - 0
7_移动端/js/rem.js

@@ -0,0 +1,29 @@
+;
+(function(win) {
+    var doc = win.document;
+    var docEl = doc.documentElement;
+    var tid;
+
+    function refreshRem() {
+        // 1. 获取屏幕宽度
+        var width = docEl.getBoundingClientRect().width;
+        var rem = width / 7.5; // 将屏幕宽度分成7.5份, 1份为1rem
+        docEl.style.fontSize = rem + 'px';
+    }
+    
+    // 2. 监听窗口变化事件
+    win.addEventListener('resize', function() {
+        clearTimeout(tid);
+        tid = setTimeout(refreshRem, 10);
+    }, false);
+    // 3. 监听页面加载完成事件
+    win.addEventListener('pageshow', function(e) {
+        if (e.persisted) {//判断是否加载缓存
+            clearTimeout(tid);
+            tid = setTimeout(refreshRem, 10);
+        }
+    }, false);
+
+    refreshRem();
+
+})(window);

+ 109 - 0
7_移动端/练习题1_弹性布局.html

@@ -0,0 +1,109 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+    <meta charset="UTF-8">
+    <meta name="viewport" content="width=device-width, initial-scale=1.0">
+    <title>Document</title>
+    <style>
+        .container {
+            max-width: 980px;
+            margin: 0 auto;
+        }
+
+        header,
+        nav,
+        footer {
+            background-color: #999;
+            color: white;
+            font-size: 35px;
+            font-weight: bold;
+            text-align: center;
+            height: 50px;
+            line-height: 50px;
+            margin-bottom: 20px;
+        }
+
+        .img-content img {
+            width: 100%;
+        }
+
+        .img-content img:nth-child(2),
+        .img-content img:nth-child(3) {
+            display: none;
+        }
+
+        .content {
+            display: flex;
+            margin: 20px 0;
+        }
+
+        .content article {
+            width: 0;
+            flex-grow: 3;
+            background-color: red;
+            margin-right: 20px;
+        }
+
+        .content aside {
+            width: 0;
+            flex-grow: 2;
+            background-color: blue;
+        }
+
+        @media screen and (max-width: 960px) {
+
+            .img-content img:nth-child(1),
+            .img-content img:nth-child(3) {
+                display: none;
+            }
+
+            .img-content img:nth-child(2) {
+                display: block;
+            }
+        }
+
+        @media screen and (max-width: 480px) {
+
+            .img-content img:nth-child(1),
+            .img-content img:nth-child(2) {
+                display: none;
+            }
+
+            .img-content img:nth-child(3) {
+                display: block;
+            }
+            .content{
+                display: block;
+            }
+            .content article{
+                width: 100%;
+                margin-bottom: 20px;
+            }
+            .content aside{
+                width: 100%;
+            }
+        }
+    </style>
+</head>
+
+<body>
+    <div class="container">
+        <header>头部</header>
+        <nav>导航</nav>
+        <div class="img-content">
+            <img src="./img/1.jpg" alt="980">
+            <img src="./img/2.jpg" alt="960">
+            <img src="./img/3.jpg" alt="480">
+        </div>
+        <div class="content">
+            <article>IE8 及更早IE版本无法在这些元素中渲染CSS效果,以至于你不能使用 或者其他的HTML5 elements.IE8 及更早IE版本无法在这些元素中渲染CSS效果,以至于你不能使用
+                或者其他的HTML5 elements.</article>
+            <aside>IE8 及更早IE版本无法在这些元素中渲染CSS效果,以至于你不能使用 或者其他的HTML5 elements.IE8 及更早IE版本无法在这些元素中渲染CSS效果,以至于你不能使用
+                或者其他的HTML5 elements.</aside>
+        </div>
+        <footer>底部</footer>
+    </div>
+</body>
+
+</html>