• 移动 WEB 开发之 阿里百秀移动端页面制作


    一、技术选型

    在这里插入图片描述

    二、需求分析

    1.页面布局分析

    在这里插入图片描述

    2. 屏幕划分

    在这里插入图片描述

    三、页面制作

    1. 项目前期准备

    1. 搭建项目结构
      在这里插入图片描述
    2. 创建 html 骨架结构以及引入相关样式
    <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">
        <!--[if lt IE 9]>
          <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
          <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
        <![endif]-->
        <!-- 引入bootstrap 样式文件 -->
        <link rel="stylesheet" href="bootstrap/css/bootstrap.min.css">
        <!-- 引入我们自己的首页样式文件 -->
        <link rel="stylesheet" href="css/index.css">
        <title>Document</title>
    </head>
    

    2. container 宽度修改

    index.css

    /* 修改container最大宽度为 1280  */
    @media screen and (min-1280px){
        .container {
             1280px;
        }
    
    }
    

    3. 首页布局

    index.html

     <div class="container">
           <div class="row">
               <header class="col-md-3">左侧</header>
               <article class="col-md-7">中间</article>
               <aside class="col-md-2">右侧</aside>
    
           </div>
       </div> 
    

    在这里插入图片描述

    4. logo制作

    index.html

    <header class="col-md-3">
             <div class="logo">
                   <a>
                     <img src="images/logo.png"/>
                   </a>
              </div>
     </header>
    

    index.css

    /* header 左侧部分 */
    .logo{
        background-color: #429ad9;
    }
    

    在这里插入图片描述
    我们发现左侧是有padding值的
    在这里插入图片描述

    在这里插入图片描述

    如果我们不想要padding-left,可以给header设置或者再添加一个类,记住不能给col-md-3设置,不然后面也会相应的被设置

    header{
        padding-left: 0!important;
    }
    

    在这里插入图片描述

    存在的问题,当屏幕缩放时,图片就会显示不全了

    在这里插入图片描述

    解决方法:让图片的宽度与父级一样宽,实现自适应的缩放效果

    .logo img {
         100%;
    }
    

    在这里插入图片描述

    5. nav 内容制作

    index.html

    <div class="nav">
                    <ul>
                        <li><a href="#" >生活馆</a></li>
                        <li><a href="#" >自然汇</a></li>
                        <li><a href="#" >科技湖</a></li>
                        <li><a href="#" >奇趣事</a></li>
                        <li><a href="#" >美食节</a></li>
                    </ul>
    </div>
    

    index.html

    index.css

    ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
    }
    a {
        color: #666;
        text-decoration: none;
    }
    a:hover {
        text-decoration: none;
    }
    /* nav部分 */
    .nav {
        background-color: #eee;
        border-bottom: 1px solid #ccc;
    }
    .nav a {
        display: block;
        height: 50px;
        line-height: 50px;
        padding-left: 30px;
        font-size: 16px;
    }
    .nav a:hover {
        background-color: #fff;
        color: #333;
    }
    
    

    在这里插入图片描述

    6. nav 中引入字体图标

     <li><a href="#" class="glyphicon glyphicon-camera" >生活馆</a></li>
    

    在这里插入图片描述
    字体图标位置不对,需要调整一下字体图标位置

    .nav a::before {
        vertical-align: middle;
        padding-right: 5px;
    }
    

    在这里插入图片描述
    index.html

    <div class="nav">
              <ul>
                  <li><a href="#" class="glyphicon glyphicon-camera" >生活馆</a></li>
                  <li><a href="#" class="glyphicon glyphicon-picture">自然汇</a></li>
                  <li><a href="#" class="glyphicon glyphicon-phone">科技湖</a></li>
                  <li><a href="#" class="glyphicon glyphicon-th" >奇趣事</a></li>
                  <li><a href="#" class="glyphicon glyphicon-glass" >美食节</a></li>
              </ul>
    </div>
    

    在这里插入图片描述

    7. 新闻模块布局

    index.html

     <article class="col-md-7">
                   <!-- 新闻模块 -->
                   <div class="news">
                       <ul>
                           <li>1</li>
                           <li>2</li>
                           <li>3</li>
                           <li>4</li>
                           <li>5</li>
                       </ul>
                   </div>
      </article>
    

    index.css

    /* 中间的新闻模块 */
    .news li{
        float:left;
         25%;
        height: 128px;
    
    }
    .news li:nth-child(1){
         50%;
        background-color: pink;
        height: 266px;
    }
    

    在这里插入图片描述

    8. news 中的 第1 模块

    想要第一个与后面的盒子有个 padding-right值,可以给 li 设置padding-right值,然后给里面的 a 设置宽高为 100%

    .news li{
        float:left;
         25%;
        height: 128px;
        padding-right: 10px;
    }
    .news li a {
         100%;
        height: 100%;
        background-color: purple;
        display: block;
    }
    

    在这里插入图片描述
    index.html

    <li>
        <a href="#">
           <img src="upload/lg.png" alt="">
           <p>阿里百秀</p>
        </a>
     </li>
    

    index.css

    .news li a img {
          100%;
         height: 100%;
     }
     .news li a p {
        position: absolute;
        bottom: 0;
        left: 0;
         100%;
        height: 41px;
        padding: 5px 10px;
        /* bootstrap默认的p标签有下 外边距,所以需要把P的外边距去掉 */
        margin-bottom: 0;
        background: rgba(0, 0, 0, .5);
        font-size: 12px;
        color: #fff;
    }
    .news li:nth-child(1){
         50%;
        /* background-color: pink; */
        height: 266px;
    }
    
    .news li:nth-child(1) p {
        line-height: 41px;
        font-size: 20px;
        padding: 0 10px;
    }
    
    

    在这里插入图片描述

    8. news 第2345模块

    <div class="news">
        <ul>
            <li>
             <a href="#">
                 <img src="upload/1.jpg" alt="">
                 <p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
             </a>
         </li>
    
         <li>
             <a href="#">
                 <img src="upload/2.jpg" alt="">
                 <p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
             </a>
         </li>
    
         <li>
             <a href="#">
                 <img src="upload/3.jpg" alt="">
                 <p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
             </a>
         </li>
    
         <li>
             <a href="#">
                 <img src="upload/4.jpg" alt="">
                 <p>奇了 成都一小区护卫长得像马云 市民纷纷求合影</p>
             </a>
         </li>
        </ul>
    </div>
    

    在这里插入图片描述
    如图,需要给 每个 li 添加一个 margin-botttom
    index.css

    .news li{
        float:left;
         25%;
        height: 128px;
        padding-right: 10px;
        margin-bottom: 10px;
    }
    

    在这里插入图片描述

    9.发表模块布局

    index.html

    <!-- 发表模块 -->
    <div class="publish">
        <div class="row">
            <div class="col-sm-9">abc</div>
            <div class="col-sm-3">123</div>
        </div>
     </div>
    

    在这里插入图片描述
    给 publish 添加 border-top

    /* 发表模块 */
    .publish{
        border-top: 1px solid red;
    }
    

    当给 publish添加 border-top的时候,发现并没有显示出来,其实线时跑到最上面去了,上面的盒子,里面的孩子时浮动的,而且上面盒子没有给定高度,所以说是有问题的,那么我们就要给上面的news盒子清除浮动,在 bootstrap中已经为我们写好了清除浮动的类 就叫 clearfix

    <div class="news clearfix">
    

    在这里插入图片描述

    10.发表publish 左侧内容制作

    bootstrap中设置了一些字体大小样式
    排版
    在这里插入图片描述

    <div class="col-sm-9">
        <h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
     </div>
    

    在这里插入图片描述
    辅助类修改文本颜色
    在这里插入图片描述

    <div class="col-sm-9">
        <h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
         <p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
         <p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
         <p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 / 皮肤 / 营养 / 趣味生活</span>
         </p>
    </div>
    

    在这里插入图片描述

    10.发表publish 右侧内容制作

    index.html

     <div class="col-sm-3 pic">
          <img src="upload/2.jpg"/>
      </div>
    

    index.css

    .publish .row {
        border-bottom: 1px solid #ccc;
        padding: 10px 0;
    }
    .pic {
        margin-top: 10px;
    }
    .pic img {
         100%;
    }
    

    在这里插入图片描述

    11. asider 内容制作

    index.html

    <!-- aside部分 -->
    <aside class="col-md-3">
        <a href="#" class="banner">
            <img src="upload/zgboke.jpg" alt="">
        </a>
        <a href="#" class="hot">
            <span class="btn btn-primary">热搜</span>
            <h4 class="text-primary">欢迎加入中国博客联盟</h4>
            <p>这里收录国内各个领域的优秀博客,是一个全人工编辑的开放式博客联盟交流和展示平台......</p>
        </a>
    </aside>
    

    index.css

    /* aside部分 */
    .banner img {
         100%;
    }
    
    .hot {
        display: block;
        margin-top: 20px;
        padding: 0 20px 20px;
        border: 1px solid #ccc;
    }
    /* 在bootstrap中有圆角边框,我们可以设置成自己想要的样式 */
    /* 将span 的border-radius去掉 */
    .hot span {
        border-radius: 0;
        margin-bottom: 20px;
    }
    
    .hot p {
        font-size: 12px;
    }
    

    bootstrap中,可以给任意元素添加按钮的样式,并且我们可以在它的基础上去修改成我们想要的样式
    在这里插入图片描述

    在这里插入图片描述

    四、页面进行响应式

    1. logo响应式制作

    在这里插入图片描述
    当我们对页面进行缩放时,发现logo的图片也跟着缩放,但是我们不需要图片缩放,图片就保持原来的大小,让图片水平居中就行

    .logo img {
        /*  100%; */
        max- 100%;
    }
    

    在这里插入图片描述
    让图片居中对齐

    .logo img {
        /*  100%; */
        max- 100%;
        display: block;
        margin: 0 auto;
    }
    

    在这里插入图片描述
    在超小屏幕下,logo图片里的文字就显得有点大
    当我们进入超小屏幕下, logo里面的图片就会隐藏起来,取而代之的是我们准备好的一个文本
    1.让logo图片在超小屏幕下隐藏

    <div class="logo">
        <a>
            <img src="images/logo.png" class="hidden-xs"/>
        </a>
    </div>
    

    在这里插入图片描述
    2.我们事先准备一个盒子装文本,它平时是隐藏的,只有在超小屏幕下才显示

    <div class="logo">
        <a>
            <img src="images/logo.png" class="hidden-xs"/>
            <span class="visible-xs">阿里百秀</span>
        </a>
    </div>
    
    .logo span {
        display: block;
        height: 50px;
        line-height: 50px;
        color: #fff;
        font-size: 18px;
        text-align: center;
    }
    
    

    在这里插入图片描述

    2.nav 响应式制作

    /* 当我们进入小屏幕的时候,然nav里面的 li 都浮动起来,并且每个li 的宽度为20%; */
    /* 并且让article有一个marin-top */
    @media screen and (max-991px){
        .nav li{
            float: left;
             20%;
        }
        article {
            margin-top: 10px;
        }
    }
    /* 当我们进入超小屏幕的时候,让 li的文字变得小一些 */
    @media screen and (max-767px){
        .nav li a{
            font-size: 12px;
        }
    }
    

    在这里插入图片描述

    3. news 响应式布局

    /* 当我们进入超小屏幕的时候,让 li的文字变得小一些 */
    @media screen and (max-767px){
        .nav li a{
            font-size: 12px;
    
            /*  在超小屏幕下nav 中的 a 就看不到了,所以需要设置一下 padding-left */
            padding-left: 0;
        }
        /* 当我们进入超小屏幕下 让 news 第一个li 宽度为100% 剩下的小 li 各50% */
        .news li:nth-child(1){
             100%!important;
        }
        .news li{
             50%!important;
        }
    }
    

    在这里插入图片描述

    4. publish 响应式布局

    在超小屏幕下 publish中的右侧图片不需要显示以及一些文字隐藏

    <div class="row">
        <div class="col-sm-9">
               <h3>生活馆 关于指甲的10个健康知识 你知道几个?</h3>
                <p class="text-muted hidden-xs">alibaixiu 发布于 2015-11-23</p>
                <p class="hidden-xs">指甲是经常容易被人们忽略的身体部位, 事实上从指甲的健康状况可以看出一个人的身体健康状况, 快来看看10个暗藏在指甲里知识吧!</p>
                <p class="text-muted">阅读(2417)评论(1)赞 (18) <span class="hidden-xs">标签:健康 / 感染 / 指甲 / 疾病 / 皮肤 / 营养 / 趣味生活</span></p>
        </div>
        <div class="col-sm-3 pic hidden-xs">
            <img src="upload/2.jpg"/>
        </div>
     </div>
    

    超小屏幕下 让 publish中的 h3 文字小一些

       .news li{
             50%!important;
        }
        .publish h3 {
            font-size: 14px;
        }
    

    在这里插入图片描述

  • 相关阅读:
    链表操作
    51nod1085-----01背包
    51nod1046快速幂取余
    51nod贪心算法入门-----任务分配问题
    51nod动态规划-----矩阵取数
    51nod贪心算法入门-----独木舟问题
    POJ2255二叉树
    POJ1182并查集
    POJ1384完全背包问题
    20162313_苑洪铭_ 第7周学习总结
  • 原文地址:https://www.cnblogs.com/Chinatsu/p/14130768.html
Copyright © 2020-2023  润新知