0
点赞
收藏
分享

微信扫一扫

day04移动web

雷亚荣 2022-05-01 阅读 54

day04移动web

一、Flex布局

  • 目标:能够使用Flex布局模型灵活、快速的开发网页
  • 本质:浏览器提倡的布局模型
  • 属性名:flex
  • 使用场景:
    结构化布局时使用,如:左右排版、左中右、上下、上中下
  • 作用
    1.基于 Flex 精确灵活控制块级盒子的布局方式,避免浮动布局中脱离文档流现象的发生。
  1. Flex布局非常适合结构化布局
  • 设置方式
    给父元素添加 display: flex,子元素可以自动的挤压或拉伸
  • 注意:
    1、 flex默认不换行
    2、换行属性flex-wrap, 值:wrap
    3.、换行之后 均分

1.1 flex的组成部分

  • flexe的组成部分
    1. 弹性容器
    2. 弹性盒子
    3. 主轴
    4. 侧轴
  • 盒子排列方式
    永远沿着主轴的方向排列

1.2 Flex中的常用属性

在这里插入图片描述

1.3 主轴对齐方式

  • 目标:使用justify-content调节元素在主轴(水平方向时)的对齐方式
  • 修改主轴对齐方式属性: justify-content(快捷:jc)
  • 相关属性值:
    在这里插入图片描述
  • 注意:
  1. Flex布局模型中,弹性盒子默认沿水平方向排列
  2. 主轴方向是可以改变的

1.4 侧轴对齐方式

核心代码:

       display: flex;
        /* 侧轴对齐方式 ai */
        align-items: center;
        justify-content: center;
  • 注意:
    align-self 对于单独的弹性盒子设置,添加给需要设置侧轴方向的弹性盒子添加

1.5 主轴方向

1.6 伸缩比

    <style>
      * {
        margin: 0;
        padding: 0;
      }

      .box {
        /* display: flex; */
        width: 1000px;
        height: 600px;
        background: orange;
      }

      .box span {
        width: 200px;
        height: 100px;
        color: #fff;
        font-size: 30px;
        font-weight: 700;
        text-align: center;
        line-height: 100px;
        background-color: #0a0;
        border: 1px solid #fff;
      }
    </style>
  </head>

  <body>
    <div class="box">
      <span>李狗蛋</span>
      <span style="flex: 1">张三</span>
      <span>张翠花</span>
    </div>
  </body>
  • 效果
    在这里插入图片描述

1.5 弹性盒子

1.5.1 弹性盒子换行

<style>
    * {
      margin: 0;
      padding: 0;
    }
    .box {
      width: 1000px;
      height: 600px;
      background: orange;
    }
    .box span {
      width: 100px;
      /* height: 100px; */
      color: #fff;
      font-size: 30px;
      font-weight: 700;
      text-align: center;
      line-height: 100px;
      background-color: #0a0;
      border: 1px solid #fff;
    }
  • 效果
    在这里插入图片描述
    换行核心代码
    /* 1、 flex默认不换行 */
        /* 2. 换行属性flex-wrap, 值:wrap */
        /* 3. 换行之后 均分 */
        display: flex;
        /* 让弹性盒子换行显示 */
        flex-wrap: wrap;
        /* 设置多行对齐方式,属性的取值与jc属性值一样 */
        /* align-content: space-evenly; */
        width: 1000px;
        /* 不设置高度行与行挨在一块,设置高度,会被均分 */
        height: 600px;
        background: orange;
        /* center:所有的行居中对齐 */
        /* align-content: 取值基本与jc justify-content相同 没有默认值是拉伸均分盒子高度  */
        /* acc  居中*/
        align-content: center;
        /* acfs 头贴 */
        align-content: flex-start;
        /* acfe 尾贴 */
        align-content: flex-end;
        align-content: space-between;
        align-content: space-around;
      }
  • 效果
    在这里插入图片描述

二、小兔鲜儿-个人中心

2.1 介绍

在工作中我们可能接手同事未完成的项目,那么当我们拿到这类项目时应该怎么做呢?首先要看项目的完成度,并以此确定自己所需完成的模块,再者查看版心等内容。本文主要介绍小兔鲜项目的个人中心模块,根据已完成的头部header和底部footer模块,完成剩下的个人中心模块。

2.2 main模块(left+right)

2.2.1 结构搭建

在这里插入图片描述

2.2.2 CSS样式

.main {
    /* 开启flex */
    display: flex;
    /* 设置两边对齐 快捷jcsb  */
    justify-content: space-between;
}

.left {
    width: 224px;
    background-color: pink;
    /* 辅助颜色pink,后面改为白色#fff */
}

.right {
        width: 999px;
}
  • 注意:考虑部分顾客为会员,那么会比普通顾客多出一些会员信息内容,所以这里不设置高度,让它自由撑开。

2.3 个人中心–公共样式

/* 公共样式面板 start */
.pannel {
  padding: 28px 20px;
  background-color: #fff;
  margin-bottom: 20px;
}

.pannel .pannel-title {
  display: flex;
  justify-content: space-between;
  height: 44px;
  border-bottom: 2px solid #f4f4f4;
}

.pannel .pannel-title h5 {
  font-size: 22px;
  font-weight: 400;
  margin-left: 8px;
}

.pannel .pannel-title a {
  font-size: 16px;
  color: #999;
  margin-right: 4px;
  margin-top: 6px;
}
/* 公共样式面板 end */

2.4 左侧left模块

2.4.1 头像区域(avatar)

.avatar {
    padding: 46px 0 13px 0;
    /* 开启flex布局 快捷:df  */
    display: flex;
    /* 改变主轴方向 */
    flex-direction: column;
    /* 垂直居中 */
    justify-content: center;
    align-items: center;

    width: 230px;
    border-bottom: 2px solid  #f4f4f4;
}

.avatar .pic { 
    width: 85px;
	height: 86px;
}

.avatar p {
    font-size: 18px;
	font-weight: normal;
	color: #333333;
    margin: 13px 0 11px 0;
}

.avatar a {
	width: 93px;
	height: 27px;
	background-image: 
	linear-gradient(0deg,#e4973c 100%);
	background-blend-mode: normal, normal;
	border-radius: 13px;
    color: #fff;
    background-color: #ea745e;

    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 30px;
}

.avatar  img {
    width: 15px;
	height: 16px;
    margin-right: 5px;
}
  • 头像区域结构代码
        <!-- 头像区域start -->
       <div class="profile">
            <div class="avatar">
            <img src="./uploads/avatar_1.png" alt="" class="pic"><p>张小花</p>
           <div>
                <a href="#"><img src="./uploads/vip_gold.png" alt="">黄金会员</a>
           </div>
        </div>
       </div>
        <!-- 头像区域end -->
  • 效果图
    avatar

2.4.2 我的账户(account)

/* ---账户信息start */
.account {
    padding: 34px 0 61px 0;

    display: flex;
    justify-content: center;
    align-items: center;
    border-bottom: 2px solid #f4f4f4;
}

.account dt {
	font-size: 18px;
	font-weight: normal;
	color: #333333;
    margin-bottom: 31px;
}

.account dd {
	font-size: 14px;
	font-weight: normal;
	color: #999999;
    margin-bottom: 29px;
}

.account dd a {
    position: relative;
}

.account a::before {
    position: absolute;
    content: '';
    width: 6px;
    height: 7px;
    left: -15px;
    top: 50%;
	border-radius: 50%;
	background-color: #5eb69c;
    transform: translateY(-50%);
    display: none;
}

.account a:hover::before{
    display: inline-block;
}

.account a:hover {
     color: #5eb69c;
}
/* 我的账户end */
    <div class="account">
        <dl>
            <dt><a href="#">我的账户</a></dt>
            <dd><a href="#">个人中心</a></dd>
            <dd><a href="#">消息通知</a></dd>
            <dd><a href="#">个人信息</a></dd>
            <dd><a href="#">安全设置</a></dd>
            <dd><a href="#">地址管理</a></dd>
            <dd><a href="#">我的积分</a></dd>
            <dd><a href="#">我的足迹</a></dd>
            <dd><a href="#">邀请有礼</a></dd>
            <dd><a href="#">幸运抽奖</a></dd>
        </dl>
    </div>
  • 效果
    account

2.4.3 交易管理(transaction)

    <!-- 交易管理start  -->
    <div class="transaction">
        <dl>
            <dt><a href="#">交易管理</a></dt>
            <dd><a href="#">我的订单</a></dd>
            <dd><a href="#">优惠券</a></dd>
            <dd><a href="#">礼品卡</a></dd>
            <dd><a href="#">评价晒单</a></dd>
            <dd><a href="#">售后服务</a></dd>
        </dl>
    </div>
    <!-- 交易管理end  -->
  • 效果图样式和前面的一样,只是信息不同

2.4.4 我的收藏(collection)

样式和结构跟我的账户一样,改个名字即可,效果一样

2.4.5 帮助中心(assistance)

样式和结构跟我的账户一样,改个名字即可,效果一样。需要注意的是,最后这个把assistance的底部边框去掉即可。

2.5 右侧right模块

2.5.1 数据概括(overview)

/* 数据概括 开始 */
.overview {
    height: 133px;
    padding: 19px 0 22px 0;
    
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    background-color: #fff;
}

.overview a {
    width: 64px;
	height: 54px;
	font-size: 16px;
	font-weight: normal;
	color: #333333;

    /* 开启flex布局 */
    display: flex;
    justify-content: space-between;
    align-items: center;
    /* 改变主轴方向 */
    flex-direction: column;
}

.line{
    width: 2px;
    height: 92px;
    background-color: #f4f4f4;
}

.overview a span {
    width: 25px;
	height: 22px;
    background: url('../images/vip.png') no-repeat;
    /* 等比例缩放,拉满盒子的宽度或高度  */
    background-size: contain;
}

.overview a:nth-child(2) span {
    width: 25px;
	height: 23px;
    background-image: url('../images/safe.png');
}

.overview a:nth-child(3) span {
    width: 18px;
    height: 25px;
    background-image: url('../images/address.png');
}

.overview a h5 {
  font-size: 26px;
  color: #e05e30;
  font-weight: 400;
  line-height: 24px;
}
/* 数据概括 结束 */
<!-- 数据概括 开始-->
    <div class="overview">
             <a href="#">
                 <span></span>
                <p>会员中心</p>
            </a>
            <a href="#">
                 <span></span>
                <p>安全设置</p>
            </a>
            <a href="#">
                 <span></span>
                <p>地址管理</p>
            </a>
         <span class="line"></span>
              <a href="#">
                 <h5>6</h5>
              <p>优惠卷</p>
            </a>
            <a href="#"> 
                <h5>70 </h5>
                <p>礼品卡</p>
            </a>
            <a href="#">
                <h5>120</h5>
                <p>积分</p>
            </a>
    </div>
    <!-- 数据概括结束 -->
  • 效果
    overview效果图

2.5.1 收藏的商品(collection)

总结

了解flex布局(流式布局),并掌握其使用方法。在这博博强烈推荐一款游戏通关掌握flex布局相关属性,本人亲测有效,希望大家今天又进步一点点😊,链接:http://flexboxfroggy.com

  • 学习界面
    frog
举报

相关推荐

# day04 - Web APIs

day04

Day04

day04作业

day04 【Map】

打卡day04

Javase day04

小程序day04

0 条评论