CSS3 弹性盒子 flex box

学习记录下css3弹性布局常用的几个属性

1、CSS3弹性盒子 flex box
    1、由弹性容器和弹性子元素组成
    2、弹性容器通过display设置flex或者inline-flex将其定义成弹性容器
    3、弹性容器内包含一个或者多个弹性子容器

    弹性容器外以及弹性容器子元素内是正常渲染的,弹性盒子只定义了弹性子元素如何在弹性容器内布局
    弹性子元素通常在弹性盒子内显示一行,默认情况每个容器只有一行
    
    display:flex;

2、排列方式
    direction  --> 方向

3、flex-direction 顺序指定了弹性子元素在容器中的位置

4、flex-direction: row| row-reverse| column| column-reverse
    row: 横向从左到右排列,左对齐,默认排列
    row-reverse: 反转横向排列,右对齐,从后往前排,最后一项排在最前面
    cloumn: 纵向排列
    column-reverse: 反转纵向排列,从后往前排,最后一项排在最上面

5、justify-content 内容对齐
    justify-content内容对齐使用在弹性容器上,把弹性项沿着容器的主轴线(main axis, 也可理解为横轴)对齐
    
    justify-content: flex-start| flex-end| center| space-between| space-around;
        flex-start: 弹性项目向行头紧挨着填充,默认值。
        flex-end: 弹性项目向行尾紧挨着填充
        center:弹性项目向中间紧挨着填充
        space-between:弹性项目平均分布在该行上,两端没有空间
        space-around: 弹性项目平均分布在该行上,两端留有空间
    
6、align-items 项目对齐
    align-items 设置或检索弹性盒子元素在侧轴(纵轴)方向上的对齐方式
    
    align-items: flex-start| flex-end| center| baseline| stretch;
        flex-start: 弹性盒子元素侧轴,起始位置
        flex-end: 弹性盒子元素侧轴,结束位置
        center:弹性盒子元素侧轴,中间位置
        baseline: 如弹性盒子的行内轴与侧轴为同一条,该值与flex-start等效;其他情况下,该值将参与基线对齐。
        stretch: 如果指定侧轴的大小为auto,这其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照min/max-width/height属性的限制
        
7、flex-wrap
    用于指定弹性盒子的子元素换行方式
    flex-wrap:nowarp| wrap| wrap-reverse| initial| inherit;
        nowrap: 默认,弹性容器为单行,该情况下弹性容器子项可能会溢出容器
        wrap:弹性容器为多行,该情况下弹性容器溢出会被放置到新行,子项内部会发生断行。
        wrap-reverse:反转warp排列。
        
8、align-content
    用于修改 flex-wrap 属性的行为。类似于align-items,但是它不是设置弹性子元素的对齐,而是设置各个行的对齐。
    align-content:flex-start| flex-end| center|space-between| space-around|stretch;
        stretch: 各行将会伸展以占用剩余空间;
        flex-start:各行向弹性盒子起始位置堆叠。
        flex-end:各行向弹性盒子结束位置堆叠。
        center:各行向弹性盒子中间堆叠。
        space-between:各行在弹性盒子容器中平均分布
        space-around:各行在弹性盒子容器中平均分布,两端保留子元素与子元素之间间距的一半。


9、弹性子元素属性
    order:排列顺序,默认0.
    magin:auto; 自动获得弹性容器剩余的空间。
    
    align-self 设置弹性元素自身在侧轴方向上的对齐方式
        align-self: auto | flex-start | flex-end | center | baseline | stetch 
        auto: 如果align-self值为auto,则其计算值为元素的父元素的align-items的值,如果其没有父元素,则计算值为stretch
        flex-start:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴起始边界。
        flex-end:弹性盒子元素的侧轴(纵轴)起始位置的边界紧靠住该行的侧轴结束边界。
        center:弹性盒子元素在该行的侧轴(纵轴)上居中放置。(如果该行的尺寸小于弹性盒子元素的尺寸,则会向两个方向溢出相同的长度)。
        baseline:如弹性盒子元素的行内轴与侧轴为同一条,则该值与'flex-start'等效。其它情况下,该值将参与基线对齐。
        stretch:如果指定侧轴大小的属性值为'auto',则其值会使项目的边距盒的尺寸尽可能接近所在行的尺寸,但同时会遵照'min/max-width/height'属性的限制。
        
    flex 用于指定弹性子元素如何分配空间
        flex: none | flex-grow || flex-shrink || flex-basis
            none: none关键字的计算值为 0 0 auto.
            
            flex-grow: 定义弹性盒子元素的扩展比率
            flex-shrink: 定义弹性盒子元素的收缩比率
            flex-basis:定义弹性盒子元素的默认基准值

10、小结 CSS3 弹性盒子属性
    display    指定 HTML 元素盒子类型。
    flex-direction    指定了弹性容器中子元素的排列方式
    justify-content    设置弹性盒子元素在主轴(横轴)方向上的对齐方式。
    align-items    设置弹性盒子元素在侧轴(纵轴)方向上的对齐方式。
    flex-wrap    设置弹性盒子的子元素超出父容器时是否换行。
    align-content    修改 flex-wrap 属性的行为,类似align-items, 但不是设置子元素对齐,而是设置行对齐
    flex-flow    flex-direction 和 flex-wrap 的简写
    order    设置弹性盒子的子元素排列顺序。
    align-self    在弹性子元素上使用。覆盖容器的 align-items 属性。
    flex    设置弹性盒子的子元素如何分配空间。

    1、display: flex;
        指定 HTML 元素盒子类型
        
    2、flex-direction
        设置弹性布局主轴的方向
        row| row-reverse| cloumn| column-reverse
        
    3、justify-content
        设置弹性子元素在主轴方向上的对齐方式
        flex-start|flex-end|center|space-between|space-around
        
    4、align-items
        设置弹性子元素在侧轴方向上的对齐方式
        flex-start|flex-end|center|baseline|stretch
        
    5、flex-wrap
        弹性子元素在主轴方向上是否换行
        nowrap|wrap|wrap-reverse
        
    6、align-content
        设置弹性元素各行的对齐方式
        stretch| flex-start|flex-end|center|space-between|space-around
    
1、旋转角度
    transform:rotate(30deg);

2、圆角
    border-radius: 15px;
    
3、阴影
    box-shadow: 10px 10px 5px #888888;

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

芯晖闲云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值