弹性布局常用的属性

弹性布局

流式布局:网页默认的布局方式,在流式布局中分为行内元素和块元素,行内元素总是从左向右排列,块元素总是从上向下排列。

弹性布局:是css3新增的布局方式,不同于流式布局。弹性布局也叫Flex布局,采用 Flex 布局的元素,称为 Flex 容器(flex container),简称"容器"。它的所有子元素自动成为容器成员,称为 Flex 项目(flex item),简称"项目"。

弹性布局特点:

  1. 总是对父元素设置,子元素起效(只针对第一级子元素)

  2. 弹性项目(子元素)没有行元素、块元素之分,所有标签都一样,从左到右排列,高度默认100%(包含外边距)

  3. 在弹性布局中,浮动失效,定位可用

  4. 在弹性布局中,默认元素从左向右排列,放不下会溢出,不会换行

    flex-wrap 属性

    • wrap自动换行
    • nowrap不换行(默认)
    • wrap-reverse反向换行(第二行在上面)
  5. 设置元素排列方向

    实际就是设置弹性容器主轴和交叉轴的方向

    • 主轴:弹性容器中元素从第一个到最后一个的排列反向就是主轴方向,默认从左向右
    • 交叉轴:总是和主轴垂直,默认从上向下

    注意:主轴和交叉轴都不是唯一的,每一行都有一个主轴和交叉轴

    flex-direction属性

    • row:主轴方向水平,从左向右(默认)
    • column:主轴方向垂直,从上向下
    • row-reverse:与row相反
    • column-reverse:与column相反
  6. 设置主轴方向(默认水平)的对齐方式

    justify-content属性

    • centerleftright
    • space-between:两端对齐
    • space-evently:间隙平分
    • space-around:间隙平分到每一个元素两端
  7. 设置一个交叉轴方向上的对齐方式

    (适用于只有一行的情况)

    align-items属性(元素自身要设置宽高)

    • center:上下居中
    • flex-end:居于底部
    • flex-start:居于顶部(默认)
  8. 设置多轴对齐方式

    (适用于多行情况)

    align-content属性

    • centerleftrightspace-betweenspace-eventlyspace-aroundflex-endflex-start
    • 垂直方向上(个人理解)
  9. align-item单行 和 align-content多行 不要一起使用,会冲突

弹性布局给所有弹性项目设置了统一的排列方式,如果让其中某些弹性项目有不同的布局方式,可以给弹性项目设置如下单独的样式

  1. order定义元素的排列顺序,值越小越靠前(默认0)
  2. align-self:单个元素在交叉轴上的对齐方式,值与align-item的相同
  3. flex-grow:如果有空白区域,设置元素瓜分空白区域的比例,默认0,表示瓜分剩余空白区域
  4. flex:设置完弹性布局以后,如果想让子元素等比例均分父元素空间,可以给第一个子元素设置flex:n,给第二个子元素设置flex:m,那么父元素会被均分成(n+m)份,第一个子元素占了n份 ,第二个占了m份(根据你设置的排列方向)
  5. flex-shrink:但容器不换行,容器宽度不足时,元素的宽度会被压缩,flex-shrink设置每一个元素被压缩的比例
    • 默认1(等比例压缩)
    • 0表示不压缩
    • 值越大,压缩的越多
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
HTML弹性布局的主要属性是flexbox布局,包括以下属性: 1. display: flex; 将容器设置为flexbox布局,使容器内的元素按照flexbox布局排列。 2. flex-direction: 指定flex容器内元素的排列方向,可以设置为row、row-reverse、column、column-reverse四个值。默认值为row。 3. justify-content: 指定flex容器内元素在主轴上的对齐方式,可以设置为flex-start、flex-end、center、space-between、space-around、space-evenly六个值。默认值为flex-start。 4. align-items: 指定flex容器内元素在交叉轴上的对齐方式,可以设置为flex-start、flex-end、center、baseline、stretch五个值。默认值为stretch。 5. align-content: 指定多行flex容器内元素在交叉轴上的对齐方式,可以设置为flex-start、flex-end、center、space-between、space-around、stretch六个值。默认值为stretch。 6. flex-wrap: 指定flex容器内元素是否换行,可以设置为nowrap、wrap、wrap-reverse三个值。默认值为nowrap。 7. flex-flow: 综合设置flex-direction和flex-wrap两个属性,可以缩短CSS代码。 8. order: 指定flex容器内元素的排列顺序,值越小越靠前,默认值为0。 9. flex-grow: 指定flex容器内元素的放大比例,值越大宽度越宽,默认值为0。 10. flex-shrink: 指定flex容器内元素的缩小比例,值越大宽度越窄,默认值为1。 11. flex-basis: 指定flex容器内元素的基准宽度,可以设置为auto或具体数值,默认值为auto。 12. flex: 综合设置flex-grow、flex-shrink和flex-basis三个属性,可以缩短CSS代码。例如:flex: 1 0 auto;。 以上是常用的flexbox布局属性,可以根据需要灵活使用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值