• 移动开发day4_京东移动页面


    复习

    父项身上有哪些属性

    1. 可以设置 主轴方向 fd flex-direction : row; column;

    2. 主轴子项的排列方式

      j justify-content: flex-start;flex-end;center; sb space-between sd space-around

    3. 换行 父项默认 不会换行!!!!! flex-wrap:wrap;

    4. 侧轴 子项 多行 align-content:

    5. 侧轴 子项 单行 align-items

    子项身上有哪些属性

    1. 自己 在侧轴上排列 align-self

    2. 之间的排列顺序 order

    3. 设置子项平分父项的宽度的比例 flex:1 ;

     

     

    写静态页面的步骤 携程

    1. 从上往下分析

    2. 从左往右分析

    3. 先写好一点大的 布局的 标签的结构 加上注释

    4. 马上在 less中 写好的 对应 样式的嵌套结构

    5. 定大的样式 比如 上下分层显示 左右各种 比例的 样式

    6. 再去处理一些小的 细节 字体大小 背景图片 边框圆角 颜色。。。

    手机屏幕知识

    逻辑分辨率

    屏幕的宽度 * 屏幕的高度 单位 px

    设备分辨率

    屏幕里面一共拥有的物理像素点的个数

    物理像素点 - 屏幕显示图像的最小的单位

    这个参数 是硬件决定

    屏幕大小一定的情况下,谁的设备分辨率=物理像素点 越高,谁屏幕就越清晰

     

    srcset属性

    可以自动根据当前屏幕的清晰度 去加载对应的图片

      <img src="./images/科比.png" srcset="./images/赵丽颖.png 2x ,./images/高圆圆.png 3x "    alt="">

     

    PPI

    单位英寸里面 一共拥有的物理像素点

    像素密度,外面 卖手机的 手机厂商 看这个参数 来表示手机屏幕的清晰度

    值 越大 屏幕就越清晰

     

    设备像素比

    手机屏幕清晰度的倍数

     

     

    视口

    移动端的页面 肯定是用到 理想视口

    布局视口

    没有理想视口的代码段

    1. html标签宽度被设置成了 980px

      1. 手机厂商,大的pc端的页面 放入到 小手机屏幕上显示

      2. 手机厂商 把pc端的版心 980px 缩小,其他不管了

      3. 在以前 老的旧的pc端的网页的版心都小于等于980px

    2. 使用绝对长度写的div大小 被缩放

    理想视口

    存在这个代码

      <meta name="viewport" content="width=device-width, initial-scale=1.0">

    以后 只要是写 移动web 一定要加上理想视口的代码

    在vs code 中快速的 敲出 理想视口的代码

      <!-- meta:vp -->

    标准的理想视口的代码

     <meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1,minimum-scale=1,user-scalable=no" />

    京东项目代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>手机京东</title>
      <link rel="stylesheet" href="./css/common.css">
      <link rel="stylesheet" href="./css/index.css">
    </head>
    <body>
      <!-- 头部内容 -->
      <header>
        <a href="#" class="logo">
          <i></i>
        </a>
        <div class="search">
          <input type="text" placeholder="全场8折,限时秒杀">
        </div>
        <a href="#" class="login">登录</a>
      </header>
      
      <!-- 轮播图内容 -->
       <div class="slide">
         <a href="#"><img src="./uploads/l1.jpg" alt=""></a>
       </div>
    
       <!-- 首页导航 -->
       <nav>
         <a href="#">
           <img src="./images/nav_1.png" alt="">
           <p>京东超市</p>
         </a>
         <a href="#">
           <img src="./images/nav_2.png" alt="">
           <p>全球购</p>
         </a>
         <a href="#">
           <img src="./images/nav_3.png" alt="">
           <p>充值中心</p>
         </a>
         <a href="#">
           <img src="./images/nav_4.png" alt="">
           <p>服装城</p>
         </a>
         <a href="#">
           <img src="./images/nav_5.png" alt="">
           <p>理财</p>
         </a>
         <a href="#">
           <img src="./images/nav_6.png" alt="">
           <p>领卷</p>
         </a>
         <a href="#">
           <img src="./images/nav_7.png" alt="">
           <p>物流查询</p>
         </a>
         <a href="#">
           <img src="./images/nav_8.png" alt="">
           <p>我的关注</p>
         </a>
       </nav>
    
      <!-- 掌上秒杀 -->
      <div class="hand">
        <div class="hand_title">
          <span class="hand_t_clock"></span>
          <span class="hand_t_kill">
            掌上秒杀
          </span>
          <div class="hand_t_timer">
            <span>0</span>
            <span>5</span>
            <span>:</span>
            <span>0</span>
            <span>0</span>
            <span>:</span>
            <span>0</span>
            <span>0</span>
          </div>
          <a class="hand_t_morekill">
            更多秒杀 >
          </a>
        </div>
        <div class="hand_content">
          <a href="#">
            <img src="./uploads/seckill_1.jpg" alt="">
            <span>热卖</span>
            <p>¥79</p>
            <del>¥139</del>
          </a>
    
          <a href="#">
              <img src="./uploads/seckill_2.jpg" alt="">
              <span>热卖</span>
              <p>¥79</p>
              <del>¥139</del>
            </a>
    
            <a href="#">
                <img src="./uploads/seckill_3.jpg" alt="">
                <span>热卖</span>
                <p>¥79</p>
                <del>¥139</del>
            </a>
        </div>
      </div>
    
      <!-- 活动内容 -->
      <!-- <div class="activity">
        <div class="activity_title">
    
          <img src="./uploads/banner_bg.jpg" alt="">
    
          <ul>
            <li><a href="#"><img src="./uploads/banner_1.jpg" alt=""></a></li>
            <li><a href="#"><img src="./uploads/banner_2.jpg" alt=""></a></li>
            <li><a href="#"><img src="./uploads/banner_3.jpg" alt=""></a></li>
          </ul>
        </div>
        <div class="activity_content"></div>
      </div> -->
    
      <div class="activity">
        <div class="activity_title">
          <img src="./uploads/banner_bg.jpg" alt="">
          <div class="acti_info clearfix">
            <a href="#"><img src="./uploads/banner_1.jpg" alt=""></a>
            <a href="#"><img src="./uploads/banner_2.jpg" alt=""></a>
            <a href="#"><img src="./uploads/banner_3.jpg" alt=""></a>
          </div>
        </div>
        <div class="activity_content">
          <a href="#"><img src="./uploads/major_1.jpg" alt=""></a>
          <a href="#"><img src="./uploads/major_2.jpg" alt=""></a>
          <a href="#"><img src="./uploads/major_3.jpg" alt=""></a>
          <a href="#"><img src="./uploads/major_4.jpg" alt=""></a>
          <a href="#"><img src="./uploads/major_5.jpg" alt=""></a>
          <a href="#"><img src="./uploads/major_6.jpg" alt=""></a>
          <a href="#"><img src="./uploads/major_7.jpg" alt=""></a>
        </div>
        <a href="#">
            <img src="./uploads/advert_1.jpg" alt="">
        </a>
      </div>
    
      <!-- 特色超市 -->
      <div class="market">
        <div class="market_title">特色超市</div>
        <div class="market_content clearfix">
          <a href="#"><img src="./uploads/market_1.jpg" alt=""></a>
          <a href="#"><img src="./uploads/market_2.jpg" alt=""></a>
          <a href="#"><img src="./uploads/market_3.jpg" alt=""></a>
          <a href="#"><img src="./uploads/market_4.jpg" alt=""></a>
          <a href="#"><img src="./uploads/market_5.jpg" alt=""></a>
        </div>
      </div>
      
      <a href="#">
        <img src="./uploads/advert_2.jpg" alt="">
      </a>
    
      <!-- 主题街 -->
      <div class="theme">
        <div class="theme_title">主题街</div>
        <div class="theme_content clearfix">
          <a href="#"><img src="./uploads/theme_1.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_2.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_3.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_4.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_5.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_6.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_7.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_8.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_9.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_10.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_11.jpg" alt=""></a>
          <a href="#"><img src="./uploads/theme_12.jpg" alt=""></a>
        </div>
      </div>
      <a href="#">
        <img src="./uploads/advert_3.jpg" alt="">
      </a>
    
      <!-- 品牌推荐 -->
      <div class="brand">
        <div class="brand_title">品牌推荐</div>
        <div class="brand_content">
          <a href="#"><img src="./uploads/brand_1.jpg" alt=""></a>
          <a href="#"><img src="./uploads/brand_2.jpg" alt=""></a>
          <a href="#"><img src="./uploads/brand_3.jpg" alt=""></a>
        </div>
      </div>
      
      <a href="#">
        <img src="./uploads/advert_4.jpg" alt="">
      </a>
    
      <!-- 猜你喜欢 -->
      <div class="guess">
        <div class="guess_title">
          <span>猜你喜欢</span>
          <a href="#">
            <img src="./images/icon-login.png" alt="">
            登陆后更懂你
          </a>
        </div>
        <div class="guess_content">
          <ul>
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_1.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_2.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_3.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_4.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_5.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_6.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_7.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_8.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_9.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
    
            <li>
              <!-- 看相似 -->
              <div class="similarity">
                <span>¥999</span>
                <a href="#">看相似</a>
              </div>
              <!-- 商品详情 -->
              <a class="product_details">
                <img src="./uploads/item_10.jpg" alt="">
                <p>迪士尼(Disney)防水夜光儿童手表男孩蓝色米奇电子表 多功能运动表男童学生手表80008-1</p>
              </a>
            </li>
          </ul>
        </div>
      </div>
      
      <!-- 工具栏底部 -->
      <div class="bottom_tools">
        <!-- 点击加载更多 -->
        <a class="more title_info">点击加载更多</a>
        <!-- 登陆注册 -->
        <div class="register title_info">
          <a href="#">登录</a>
          <a href="#">注册</a>
          <a href="#">反馈</a>
          <a href="#">回到顶部</a>
        </div>
        <!-- 设备客户端 -->
        <div class="device title_info">
          <a href="#">
            <span></span>
            <p>客户端</p>
          </a>
          <a href="#">
            <span></span>
            <p>触屏版</p>
          </a>
          <a href="#">
            <span></span>
            <p>电脑版</p>
          </a>
        </div>
        <!-- 网站版权信息 -->
        <div class="copy_right title_info">
            Copyright © 2004-2016 京东JD.com 版权所有
        </div>
      </div>
    
      <!-- 网站底部 -->
      <footer>
        <a href="#"><img src="./images/index-icon.png" alt=""></a>
        <a href="#"><img src="./images/sort-icon.png" alt=""></a>
        <a href="#"><img src="./images/618-icon.png" alt=""></a>
        <a href="#"><img src="./images/cart-icon.png" alt=""></a>
        <a href="#"><img src="./images/center-icon.png" alt=""></a>
      </footer>
    </body>
    </html>
    index.html
    body {
      padding-bottom: 50px;
    }
    
    header {
      position: fixed;
      top: 0;
      left: 0;
      display: flex;
      background-color: #c91523;
       100%;
      height: 40px;
      z-index: 100;
      .logo {
         70px;
        display: flex;
        justify-content: center;
        align-items: center;
        i {
           57px;
          height: 42px;
          background: url(../images/jd-sprites.png) no-repeat;
          background-size: 200px 200px;
          background-position: 0 -102px;
          
        }
      }
      .search {
        flex: 1;
        padding: 5px 0;
        position: relative;
        input {
          display: block;
           100%;
          height: 100%;
          border-radius: 15px;
          padding-left: 40px;
        }
        &::before {
          content: "";
          display: block;
          position: absolute;
           20px;
          height: 20px;
          background: url(../images/jd-sprites.png) no-repeat;
          background-size: 200px 200px;
          background-position: -58px -110px;
          left: 12px;
          top: 10px;
        }
      }
      .login {
         50px;
        line-height: 40px;
        text-align: center;
        color: #fff;
      }
    }
    
    // 首页导航部分
    nav {
      display: flex;
      // 让子项换行
      flex-wrap: wrap;
      a {
         25%;
        text-align: center;
        padding: 6px 0;
        font-size: 15px;
        color: #666;
        img {
           50%;
          // 注意:快级元素无法通过text-align:center进行居中 需要转成行内快
          display: inline-block;
        }
      }
    }
    
    // 掌上秒杀部分
    .hand {
      .hand_title{
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 10px;
        // background-color: pink;
        .hand_t_clock {
          
        }
        .hand_t_kill {
          font-size: 15px;
          color: red;
        }
        .hand_t_timer {
          span {
            background-color: black;
            color: #fff;
            font-size: 14px;
          }
          span:nth-child(3n) {
            background-color: #fff;
            color: #000;
          }
        }
        .hand_t_morekill {
          font-size: 14px;
        }
      }
      .hand_content{
        display: flex;
        text-align: center;
        a {
          position: relative;
          flex: 1;
          img{}
          span{
            position: absolute;
            right: 10%;
            top: 30%;
            background-color: red;
            border-radius: 50%;
            padding: 2px 10px;
            color: #fff;
          }
          p{
            font-size: 14px;
            color: #c91523;
          }
          del{
            font-size: 14px;
            color: #666;
          }
        }
      }
    }
    
    // 活动内容部分开始
    // .activity {
    //   .activity_title {
    //    position: relative; 
    //    ul {
    //      position: absolute;
    //      bottom: 4px;
    //      li {
    //        float: left;
    //         50%;
    //        img {
    //           95%;
    //          margin: 0 auto;
    //        }
    //      }
    //    }
    //   }
    // }
    .activity {
      .activity_title {
        position: relative;
        .acti_info {
          position: absolute;
          // 让宽度继承屏幕的宽度
           100%;
          bottom: 0;
          left: 0;
          a {
            float: left;
             50%;
          }
        }
      }
      .activity_content {
        display: flex;
        flex-wrap: wrap;
        a {
           50%;
        }
        a:nth-child(-n+3) {
           30%;
        }
      }
    }
    
    // 特色超市内容
    .market {
      .market_title {
        font-size: 14px;
        color: #c91523;
        font-weight: 700;
        font-size: 20px;
      }
      .market_content {
        a {
           50%;
          float: left;
        }
        a:nth-child(2) {
          padding-bottom: 1px;
        }
      }
    }
    
    // 主题街
    .theme {
      .theme_title {
        font-size: 14px;
        color: #c91523;
        font-weight: 700;
        font-size: 20px;
      }
      .theme_content {
        a:nth-child(-n+2) {
           50%;
        }
        a:nth-child(2) {
          padding-bottom: 1px;
        }
        a {
           25%;
          float: left;
        }
      }
    }
    
    // 品牌推荐
    .brand {
      .brand_title{
        font-size: 14px;
        color: #c91523;
        font-weight: 700;
        font-size: 20px;
      }
      .brand_content{
        display: flex;
        
        a:nth-child(1) {
          flex: 4;
        }
        a:nth-last-child(-n+2) {
          flex: 3;
        }
      }
    }
    
    
    // 猜你喜欢
    .guess {
      .guess_title {
        display: flex;
        justify-content: space-between;
        color: #c91523;
          a {
            img {
              display: inline-block;
               18px;
              height: 18px;
              vertical-align: middle;
            }
          }
        }
      .guess_content {
        ul {
          display: flex;
          flex-wrap: wrap;
          li {
             50%;
          }
        }
        .similarity{
          display: flex;
          justify-content: space-between;
          span {
            color: red;
          }
          a {
            color: #666;
            display: block;
            border: 1px solid #666;
          }
        }
        .product_details{
          img{
             80%;
            margin: 0 auto;
          }
          p {
            height: 40px;
            font-size: 14px;
            overflow: hidden;
            border-bottom: 1px solid #000;
          }
        }
      }
    }
    
    .title_info {
      font-size: 14px;
      color: #666;
      padding:10px;
      border-bottom: 1px solid #666;
    }
    
    // 工具栏底部
    .bottom_tools {
      text-align: center;
      .more{}
      .register{
        display: flex;
        a {
         flex: 1; 
         border-right: 1px solid #666;
        }
        a:last-child {
          border-right: none;
        }
      }
      .device{
        display: flex;
        a {
          flex: 1;
          span {
            display: inline-block;
             33px;
            height: 33px;
            // background-color: red;
            background-image: url(../images/jd-sprites.png);
            background-repeat: no-repeat;
            background-size: 200px 200px;
            background-position: -120px -70px;
          }
        }
        a:nth-child(2) span {
          background-position: -40px -70px;
        }
        a:nth-child(3) span {
          background-position: -80px -70px;
        }
      }
      .copy_right{
        border-bottom: none;
        padding: 20px 0;
      }
    }
    
    // 网站底部
    footer {
      position: fixed;
      bottom: 0;
      left: 0;
      display: flex;
       100%;
      height: 50px;
      background-color: #fff;
      a {
        flex: 1;
        img {
           64px;
          height: 50px;
          margin: 0 auto;
        }
      }
    }
    index.less

    提示:less是CSS的解析器,在这个文件里面写CSS代码,less会自动解析成CSS文件,vscode的同学需要安装Easy LESS插件。

    页面效果:

    这个项目还是很练手的,写了一整天才写出来,个别功能的思路还不是特别清除,还是要多写几遍,理清楚思路,熟能生巧;

    昨天放假,我用笔记本玩了一天的GTA5,从前天晚上8点一直玩到早上9点,任务做了一半,睡到晚上起床发现同学们都把京东写完了,我压力很大,晚上11点开始写,写到3点多只写了一半,今天早上咬牙把下了3天的GTA5卸载了,不能再玩了,2W都交了,再浪费时间打游戏实在对不起父母。

  • 相关阅读:
    使用eclipse从github导入maven项目
    J2SE 8的Lambda --- Comparator
    J2SE 8的Lambda --- functions
    J2SE 8的Lambda --- 语法
    J2SE 8的流库 --- 收集处理结果
    J2SE 8的流库 --- 转换流, 得到的还是流
    J2SE 8的流库 --- 基本类型流的使用
    J2SE 8的流库 --- 生成流
    Hadoop 3.0 安装
    程序员到底要不要读研,过来人给你几点建议!
  • 原文地址:https://www.cnblogs.com/replaceroot/p/10663043.html
Copyright © 2020-2023  润新知