flex布局初探

dom结构

1,左上

2,中上

3,右上

4,左中

5,中间

6,右中

7,左下

8,中下

9,右下

------------------------------------------------------------------------------

flex-direction ---决定主轴的方向,即项目的排列方向

如:

flex-grow--定义项目的放大比例,默认为0,即如果存在剩余空间也不进行放大,

假如有A,B,C三个元素(不考虑高度),A:flex-grow:0 ,B:flex-flow:1  , C:flex-flow:2,页面上的剩余长度为90px,那么A元素大小不变,B长度增加30px,C长度增加60px

-------------------------------------------------

flex-shrink--定义了项目的缩小比例,默认为1,即如果空间不足,那么该项目要缩小

假如有A,B,C三个元素(不考虑高度),A:flex-shrink:0,B:flex-shrink:1,C:flex-shrink:1,那么当页面长度不够时,A元素不缩小,B和C等比例缩小

-------------------------------------------------

flex-basis--定义了项目在分配剩余空间之前,所占的主轴空间,浏览器根据这个属性来判断是否有剩余空间,默认值为auto,即项目原本的大小

--------------------------------------------------

flex属性是flex-grow,flex-shrink和flex-basis的复合属性,默认值为 0,1,auto,后两个值选填

该属性有两个快捷值:auto(1,1,auto) none(0,0,auto)

优先建议使用这个属性,而不是三个分离的属性,因为浏览器会推算相关值

--------------------------------------------------

flex-wrap:    子元素是否在一行显示

值:nowrap(不换行)/wrap(换行)/wrap-reverse (换行,第一行在下方),默认值:no-wrap

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" href="">
  <script src="https://unpkg.com/axios/dist/axios.min.js"></script>
  <style type="text/css">
    *{
      padding: 0;
      margin: 0;
    }
    .box{
      width: 400px;
      height: 400px;
      border: 1px solid #000;
      display: flex;
    }
    .demo{
      width: 100px;
      height: 100px;
      background-color: #f40;
      text-align: center;
      line-height: 100px;
      color: #fff;
    }
  </style>
</head>
<body>
  <div class="box">
    <div class="demo">1</div>
    <div class="demo">2</div>
  </div>
</body>
<script>
</script>
</html>

在父元素上加上一个display:flex

会发现元素自动水平排列,所以对于flex布局来说,不用去加float,加了也没有效果

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值