fengchuanyu 3 months ago
parent
commit
b34bb23e77
3 changed files with 297 additions and 40 deletions
  1. 54 0
      10_移动端/9_滚动条样式.html
  2. BIN
      10_移动端/img/nz.jpg
  3. 243 40
      10_移动端/练习6_猫眼电影.html

+ 54 - 0
10_移动端/9_滚动条样式.html

@@ -0,0 +1,54 @@
+<!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>
+        ::-webkit-scrollbar{
+            height: 0;
+            width: 0;
+            display: none;
+        }
+        
+        .box{
+            width: 200px;
+            height: 200px;
+            border:1px solid black;
+            margin:100px auto;
+            overflow: scroll;
+        }
+        .box1{
+            width: 600px;
+            height: 100px;
+            background-color: blue;
+            color: #fff;
+        }
+
+        .box2{
+            width: 200px;
+            height: 200px;
+            /* background-image: linear-gradient(blue,red); */
+            /* background-image: linear-gradient(to left, blue, red, green); */
+            /* background-image: linear-gradient(to right top, blue, red); */
+            /* background-image: linear-gradient(10deg, blue, red); */
+            /* background-image: radial-gradient(blue, red); */
+            background-image: linear-gradient(rgba(0,0,0,0),rgba(0,0,0,1));
+        }
+    </style>
+</head>
+<body>
+    <div class="box2"></div>
+    <div class="box">
+        <div class="box1">
+            CSS 属性选择器用于根据元素的属性或属性值来选择 HTML 元素。
+
+属性选择器可以帮助你在不需要为元素添加类或 ID 的情况下对其进行样式化。
+
+注意:IE7 和 IE8 需声明 !DOCTYPE 才支持属性选择器!IE6 和更低的版本不支持属性选择器。
+
+以下是常见的 CSS 属性选择器
+        </div>
+    </div>
+</body>
+</html>

BIN
10_移动端/img/nz.jpg


+ 243 - 40
10_移动端/练习6_猫眼电影.html

@@ -6,20 +6,27 @@
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Document</title>
     <script src="./js/rem.js"></script>
-    <link rel="stylesheet" href="https://at.alicdn.com/t/c/font_4824002_e22sgrscvlh.css">
+    <link rel="stylesheet" href="https://at.alicdn.com/t/c/font_4824002_f2s79t2nzw.css">
     <style>
-        body{
+        body {
             margin: 0;
         }
-        ul{
+
+        ul {
             margin: 0;
             padding: 0;
         }
-        li{
+
+        li {
             list-style: none;
         }
+        ::-webkit-scrollbar{
+            display: none;
+            height: 0;
+            width: 0;
+        }
 
-        .container header{
+        .container header {
             width: 100%;
             height: 1rem;
             background-color: #e54847;
@@ -28,49 +35,56 @@
             align-items: center;
             position: relative;
         }
-        .container header span{
+
+        .container header span {
             font-size: .3rem;
             color: #fff;
         }
-        .container header i{
+
+        .container header i {
             position: absolute;
             right: 20px;
-            top:50%;
+            top: 50%;
             transform: translateY(-50%);
             color: #fff;
             font-size: .5rem;
         }
-        .container .menu-list{
+
+        .container .menu-list {
             width: 2rem;
             background-color: #fff;
-            box-shadow: 0 .06rem .18rem 0 rgba(0,0,0,.5);
+            box-shadow: 0 .06rem .18rem 0 rgba(0, 0, 0, .5);
             position: absolute;
             top: .9rem;
             right: .9rem;
         }
-        .container .menu-list li{
+
+        .container .menu-list li {
             font-size: .3rem;
             text-align: center;
             height: 0.9rem;
             line-height: .9rem;
             color: #333;
-            border:1px solid #f0f0f0;
+            border: 1px solid #f0f0f0;
         }
+
         /* nav 部分 */
-        nav{
+        nav {
             height: 1rem;
             border-bottom: .02rem solid #aaa;
             display: flex;
             justify-content: space-between;
         }
-        nav .address{
+
+        nav .address {
             font-size: .3rem;
             color: #666;
             padding-left: .3rem;
             display: flex;
             align-items: center;
         }
-        nav .address i{
+
+        nav .address i {
             /* border:.3rem solid transparent; */
             /* border: .1rem solid #666; */
             border-top: .1rem solid #b0b0b0;
@@ -80,13 +94,15 @@
             display: block;
             width: 0;
             height: 0;
-            transform: translate(.08rem,.08rem);
+            transform: translate(.08rem, .08rem);
         }
-        nav .tab-content{
+
+        nav .tab-content {
             flex-grow: 1;
             position: relative;
         }
-        nav .tab-content::after{
+
+        nav .tab-content::after {
             content: '';
             display: block;
             height: .06rem;
@@ -97,45 +113,137 @@
             border-radius: 2px;
             transition: left .2s;
         }
-        nav .tab-content[data-active="one"]::after{
+
+        nav .tab-content[data-active="one"]::after {
             left: 6vw;
         }
-        nav .tab-content[data-active="two"]::after{
+
+        nav .tab-content[data-active="two"]::after {
             left: 20vw;
         }
-        nav .tab-content[data-active="three"]::after{
+
+        nav .tab-content[data-active="three"]::after {
             left: 34vw;
         }
-        nav .tab-content[data-active="four"]::after{
+
+        nav .tab-content[data-active="four"]::after {
             left: 51vw;
         }
-        nav .tab-content ul{
+
+        nav .tab-content ul {
             display: flex;
             align-items: center;
             height: 1rem;
             margin-left: .2rem;
         }
-        nav .tab-content li{
+
+        nav .tab-content li {
             font-size: .3rem;
             font-weight: 700;
             color: #666;
-            margin:0 .2rem;
+            margin: 0 .2rem;
         }
-        nav .tab-content .active{
+
+        nav .tab-content .active {
             color: #333;
             font-size: .34rem;
         }
-        nav .search{
+
+        nav .search {
             padding: .2rem .3rem .2rem .2rem;
             display: flex;
             align-items: center;
             justify-content: center;
         }
-        nav .search i{
+
+        nav .search i {
             color: #e54847;
             font-size: .4rem;
             font-weight: 700;
         }
+        /* footer css */
+        footer {
+            height: 1rem;
+            border-top: .01rem solid #aaa;
+            position: fixed;
+            bottom: 0;
+            width: 100vw;
+        }
+        footer ul{
+            display: flex;
+            justify-content: space-around;
+        }
+        footer ul span{
+            font-size: .2rem;
+        }
+        footer ul li{
+            display: flex;
+            flex-direction: column;
+            align-items: center;
+            justify-content: center;
+            height: 1rem;
+            color: #696969;
+
+        }
+        footer ul .iconfont{
+            font-size: .4rem;
+        }
+        footer ul .active{
+            color: #f03d37;
+        }
+        /* like-movie css */
+        .content .like-movie{
+            padding:12px 15px;
+        }
+        .content .like-movie .title-text{
+            font-size: 14px;
+            color: #333;
+            margin-bottom: 12px;
+        }
+        .content .like-movie .scroll-content{
+            width: 100%;
+            overflow: scroll;
+        }
+        .content .like-movie-list ul{
+            display: flex;
+        }
+        .content .like-movie-list li{
+            width: 85px;
+            margin-right: 10px;
+        }
+        .content .like-movie-list img{
+            width: 100%;
+            height: 100%;
+            display: block;
+        }
+        .content .like-movie .img-content{
+            position: relative;
+            margin-bottom: 6px;
+            height: 115px;
+        }
+        .content .like-movie .opcity-bg{
+            position: absolute;
+            bottom: 0;
+            height: 35px;
+            width: 100%;
+            background-image: linear-gradient(rgba(77,77,77,0),#000);
+        }
+        .content .like-movie .rate-text{
+            position: absolute;
+            bottom: 2px;
+            left: 4px;
+            font-size: 11px;
+            font-weight: 600;
+            color: #faaf00;
+        }
+        .content .like-movie .movie-title{
+            font-size: 13px;
+            color: #222;
+            font-weight: bold;
+            white-space: nowrap;
+            overflow: hidden;
+            text-overflow: ellipsis;
+        }
     </style>
 </head>
 
@@ -162,7 +270,7 @@
                 <ul>
                     <li data-val="one" class="active">热映</li>
                     <li data-val="two" class="">影院</li>
-                    <li data-val="three" >待映</li>
+                    <li data-val="three">待映</li>
                     <li data-val="four">经典电影</li>
                 </ul>
 
@@ -172,29 +280,113 @@
             </div>
         </nav>
         <div class="content">
-            <div class="like-movie"></div>
+            <div class="like-movie">
+                <div class="title-text">最受好评电影</div>
+                <div class="scroll-content">
+                    <div class="like-movie-list">
+                        <ul>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                            <li>
+                                <div class="img-content">
+                                    <img src="./img/nz.jpg" alt="">
+                                    <div class="opcity-bg"></div>
+                                    <div class="rate-text">观众评分&nbsp;&nbsp;9.7</div>
+                                </div>
+                                <div class="movie-title">哪吒之魔童闹海</div>
+                            </li>
+                        </ul>
+                    </div>
+                </div>
+            </div>
             <div class="movie-list"></div>
         </div>
-        <footer></footer>
+        <footer>
+            <ul>
+                <li class="active">
+                    <i class="iconfont icon-dianying"></i>
+                    <span>电影/影院</span>
+                </li>
+                <li>
+                    <i class="iconfont icon-shipin"></i>
+                    <span>视频</span>
+                </li>
+                <li>
+                    <i class="iconfont icon-yanchu"></i>
+                    <span>演出</span>
+                </li>
+                <li>
+                    <i class="iconfont icon-wode"></i>
+                    <span>我的</span>
+                </li>
+            </ul>
+        </footer>
     </div>
     <script>
         let menuBtn = document.querySelector('#menu-btn');
         let menuList = document.querySelector('.menu-list');
         let topTab = document.querySelectorAll('.tab-content ul li');
         let topTabContent = document.querySelector(".tab-content");
-        
-        menuBtn.ontouchstart = function(){
+        let footerTab = document.querySelectorAll('footer li');
+
+        menuBtn.ontouchstart = function () {
             let thisStata = menuList.style.display;
-            if(thisStata == 'none'){
+            if (thisStata == 'none') {
                 menuList.style.display = 'block';
-            }else{
+            } else {
                 menuList.style.display = 'none';
             }
         }
 
         // 为顶部tab绑定点击事件
         topTab.forEach((element) => {
-            element.ontouchstart = function(){
+            element.ontouchstart = function () {
                 let thisVal = this.dataset.val;
                 location.hash = thisVal;
                 changeTopTab(thisVal)
@@ -212,18 +404,18 @@
 
 
         // 监听地址栏hash值的变化
-        window.onhashchange = function(){
+        window.onhashchange = function () {
             let hash = location.hash.slice(1);
             changeTopTab(hash);
         }
 
         // 切换topTab选中状态
-        function changeTopTab(val){
+        function changeTopTab(val) {
             // 1.为topTab添加选中状态
             topTab.forEach((element) => {
-                if(element.dataset.val == val){
+                if (element.dataset.val == val) {
                     element.classList.add("active");
-                }else{
+                } else {
                     element.classList.remove("active");
                 }
             });
@@ -231,6 +423,17 @@
             topTabContent.setAttribute('data-active', val);
 
         }
+
+        // 为footer绑定点击事件
+        footerTab.forEach((element) => {
+            element.addEventListener("touchstart", function () {
+                // 1. 清除所有footer的active类名
+                footerTab.forEach((item) => {
+                    item.classList.remove("active");
+                })
+                this.classList.add("active");
+            })
+        })
     </script>
 </body>