移动开发—详解flex布局之携程网首页案例制作

Posted 乘风破浪的程序媛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动开发—详解flex布局之携程网首页案例制作相关的知识,希望对你有一定的参考价值。

移动开发—详解flex布局之携程网首页案例制作

学习内容

一、flex的布局原理

二、flex布局父项常见的属性

三、flex布局子项常见的属性

四、携程网首页案例制作

一、flex的布局原理

总结flex布局的原理:就是通过给父盒子添加flex属性,来控制盒子的位置和排列顺序
在这里插入图片描述

二、flex布局父项常见的属性

在这里插入图片描述

(一)、flex-direction设置主轴的方向

主轴与侧轴

  • 在flex中,是分为主轴和侧轴两个方向:同样的叫法有:行和列、x轴和y轴
  • 默认主轴方向就是x轴方向,水平向右
  • 默认侧轴方向就是y轴方向,水平向下
    在这里插入图片描述

flex-direction属性决定主轴的方向(即项目排列的方向)

注意:主轴和侧轴是会变化的,看flex-direction设置谁为准,剩下的就是侧轴,而我们的子元素是跟着主轴来排列的

在这里插入图片描述
(二)、justify-content设置主轴上的子元素的排列方式
注意:使用这个属性之前一定要确定哪个是主轴
在这里插入图片描述
(三)、flex-wrap设置子元素是否换行
默认情况下,项目都排在一条线上,默认的子元素是不换行的,如果装不开,会缩小子元素的宽度,放到父元素里面
在这里插入图片描述
(四)、align-items设置侧轴上的子元素的排列方式(单行)
该属性是控制子项在侧轴(默认是y)上的排列方式在子项为单向的时候使用
在这里插入图片描述
(五)、align-content设置侧轴上的子元素的排列方式

设置子项在侧轴的排列方式并且只能用于子项出现换行的情况(多行)在单行下是没有效果的
在这里插入图片描述
(六)、align-content和align-items的区别

在这里插入图片描述
(七)、flex-flow

flex-flow属性是flex-direction和flex-wrap属性的复合型
flex-flow
(八)、总结
在这里插入图片描述

三、flex布局子项常见的属性

(一)、flex子项目占的份数
flex属性定义子项目分配剩余空间,用flex来表示占多少份数
在这里插入图片描述

(二)、align-self控制子项自己在侧轴的排列方式
在这里插入图片描述

(三)、order属性定义子项的排列顺序(前后顺序)

数值越小,排列越靠前,默认值为0
注意:和 z-index不一样

四、携程网首页案例制作

一、技术选型

方案:采用单独制作移动页面的方案

技术:布局采用flex布局

在这里插入图片描述
二、携程网制作

在这里插入图片描述
部分代码如下:

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0,user-scalable=no">
    <title>携程在手,说走就走</title>
    <link rel="stylesheet" href="css/normalize.css">
    <link rel="stylesheet" href="css/index.css">
</head>

<body>
    <!-- 搜索模块 -->
    <div class="search-index">
        <div class="search"> 搜索:目的地/酒店/景点/航班号</div>
        <a href="#" class="user">我 的</a>
    </div>
    <!-- 焦点图模块 -->
    <div class="focus">
        <img src="upload/focus.jpg" alt="">
    </div>
    <!-- 局部导航栏 -->
    <ul class="local-nav">
        <li>
            <a href="#" title="景点玩乐">
                <span class="local-nav-icon1"></span>
                <span>景点 玩乐</span>
            </a>
        </li>
        <li>
            <a href="#" title="周边游">
                <span class="local-nav-icon-icon2"></span>
                <span>周边游</span>
            </a>
        </li>
        <li>
            <a href="#" title="美食林">
                <span class="local-nav-icon-icon3"></span>
                <span>美食林</span>
            </a>
        </li>
        <li>
            <a href="#" title="一日游">
                <span class="local-nav-icon-icon4"></span>
                <span>一日游</span>
            </a>
        </li>
        <li>
            <a href="#" title="当地攻略">
                <span class="local-nav-icon-icon5"></span>
                <span>当地攻略</span>
            </a>
        </li>
    </ul>
    <!-- 主导航栏 -->
    <nav>
        <div class="nav-common">
            <div class="nav-items">
                <a href="#">海外酒店</a>

            </div>
            <div class="nav-items">
                <a href="#">海外酒店</a>
                <a href="#">特价酒店</a>
            </div>
            <div class="nav-items">
                <a href="#">团购</a>
                <a href="#">民用客栈</a>
            </div>
        </div>
        <div class="nav-common">
            <div class="nav-items">
                <a href="#">机票</a>

            </div>
            <div class="nav-items">
                <a href="#">火车票</a>
                <a href="#">特价机票</a>
            </div>
            <div class="nav-items">
                <a href="#">汽车票 船票</a>
                <a href="#">专车 租车</a>
            </div>
        </div>
        <div class="nav-common">
            <div class="nav-items">
                <a href="#">旅游</a>

            </div>
            <div class="nav-items">
                <a href="#">门票</a>
                <a href="#">目的地攻略</a>
            </div>
            <div class="nav-items">
                <a href="#">游轮旅行</a>
                <a href="#">定制旅行</a>
            </div>
        </div>
    </nav>
    <!-- 侧部分 -->
    <ul class="subnav-entry">
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon1"></span>
                <span>WiFi电话卡</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon2"></span>
                <span>保险签证</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon3"></span>
                <span>外币兑换</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon4"></span>
                <span>购物</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon5"></span>
                <span>当地导向</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon6"></span>
                <span>自由行</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon--icon7"></span>
                <span>境外玩乐</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon--icon8"></span>
                <span>礼品卡</span>
            </a>
        </li>

        <li>
            <a href="#">
                <span class="subnav-entry-icon--icon9"></span>
                <span>信用卡</span>
            </a>
        </li>
        <li>
            <a href="#">
                <span class="subnav-entry-icon-icon10"></span>
                <span>更多</span>
            </a>
        </li>

    </ul>

    <!--  销售模块-->
    <div class="sales-box">
        <div class="sales-hd">
            <h2>热门活动</h2>
            <a href="#" class="more">获取更多福利</a>
        </div>

        <div class="sales-bd">
            <div class="row">
                <a href="#"><img src="upload/pic1.jpg" alt=""></a>
                <a href="#"><img src="upload/pic2.jpg" alt=""></a>
            </div>
            <div class="row">
                <a href="#"><img src="upload/pic3.jpg" alt=""></a>
                <a href="#"><img src="upload/pic4.jpg" alt=""></a>
            </div>
            <div class="row">
                <a href="#"><img src="upload/pic5.jpg" alt=""></a>
                <a href="#"><img src="upload/pic6.jpg" alt=""></a>
            </div>
        </div>
 
   
</body>

</html>

以上是关于移动开发—详解flex布局之携程网首页案例制作的主要内容,如果未能解决你的问题,请参考以下文章

CSSflex实战 - 移动版携程网首页制作 - CSS3 - flex布局

移动Web开发之rem实际开发适配方案

flex 弹性盒布局 移动端首页

静态页面2-实现携程移动端首页

web移动端开发-flex布局父项常见属性超详解(附图解)

移动端开发——京东首页制作(流式布局)