浅谈flex(上)

**

Flex布局

**

对flex布局理解

flex布局,即为弹性布局,他可以扩展和收缩flex容器内的元素,弹弹弹~~任何一个容器都可以设为flex布局。如下:
display:flex;

基本概念

采用flex布局的元素,成为flex容器,它的所有子元素会自动成为容器的成员,成为flex项目。
容器默认有2根轴,主轴以及交叉轴。主轴开始的位置称为(main start),主轴结束的位置称为(main end)。同理 ,交叉轴开始的位置称为(cross start),交叉轴结束的位置称为(cross end)。在容器中,每个项目的宽度称为(main size),每个项目的高度称为(cross size)。如下图(手绘^ - ^卡哇伊呐~)
在这里插入图片描述

属性(设置在容器上)

用于父元素上的属性作用
flex-direction定义子项在容器内的排列方向
flex-wrap定义子项在容器内的换行结果
flex-flow是flex-direction和flex-wrap简写的形式,默认横排row,不换行nowrap
justify-content定义子项在容器内主轴对齐方式
align-items定义子项在容器内的交叉轴对齐方式
align-content定义多行子项在容器内整体垂直对齐方式

flex-direction详解(确认主轴方向):

  • flex-direction:row (默认,子项排列方式从左到右)
  • flex-direction:column(子项排列方式从上到下)
  • flex-direction:row-reverse(子项排列方式从右到左)
  • flex-direction:column-reverse(子项排列方式从左到右)

flex-wrap详解(子项沿主轴方向排列):

  • flex-wrap:nowrap(默认 ,不换行)
  • flex-wrap:wrap(换行,第一行在上)
  • flex-wrap:wrap-reverse(换行,第一行在下)

flex-flow详解(flex-direction和flex-wrap简写)

flex-flow:row nowrap;(默认)

justify-content详解(在主轴对齐的方式)

  • flex-start:沿主轴方向对齐(默认)
  • flex-end:沿主轴反方向对齐
  • center:居中
  • space-between:两端对齐,项目之间间隔相等
  • space-around:每个项目的两侧间隔相等

align-items详解(在交叉轴对齐的方式)

  • flex-start:沿交叉轴方向对齐
  • flex-end:沿交叉轴反方向对齐
  • center:居中
  • baseline:项目的第一行文字的基线对齐
  • stretch(默认值):如果项目未设置高度或设为auto,将占满整个容器的高度。

align-content属性

定义多根轴对齐的方式,若只有一根轴线,该属性不起作用

  • flex-start:与交叉轴的起点对齐。
  • flex-end:与交叉轴的终点对齐。
  • center:与交叉轴的中点对齐。
  • space-between:与交叉轴两端对齐,轴线之间的间隔平均分布。
  • space-around:每根轴线两侧的间隔都相等。所以,轴线之间的间隔比轴线与边框的间隔大一倍。
  • stretch(默认值):轴线占满整个交叉轴。

demo

附上代码块,可自行更改父元素的属性值,调试元素样式。

<!DOCTYPE html>
<html>
    <head>
        <style type="text/css">
        .flex{
         	background: wheat;
            height:300px;
            width:400px;
            display:flex;
            flex-direction: row;
            flex-wrap: wrap;
            justify-content: space-around;
            align-items: flex-end;
        }
        </style>
    </head>
    <body >
        <div class="flex">
            <div style="background: chartreuse; height: 100px;width: 100px;">1</div>
            <div style="background: coral; height: 100px;width: 100px;">2</div>
            <div style="background: chartreuse; height: 100px;width: 100px;">3</div>
            <div style="background: coral; height: 100px;width: 100px;">4</div>
            <div style="background: chartreuse; height: 100px;width: 100px;">5</div>
            <div style="background: coral; height: 100px;width: 100px;">6</div>
        </div>
    </body>
</html>

页面显示效果:
在这里插入图片描述
未完待续~~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值