Flex弹性盒子(一篇带你掌握潮流 Flex 布局)(下)

简介: 5.当切换容器排列方式后,水平对齐以及垂直对齐的 应用 变化(重点、难点⭐⭐⭐⭐⭐)当使用flex-direction: (例 column) ;时 justify-content 、 align-content 、align-items发生的变化当排列为column / column-reverse 时,其实容器的主轴发生了变化主轴现在是竖轴,副轴是横轴

5.当切换容器排列方式后,水平对齐以及垂直对齐的 应用 变化(重点、难点⭐⭐⭐⭐⭐)

  • 当使用flex-direction: (例 column) ;时 justify-content 、 align-content 、align-items发生的变化
  • 当排列为column / column-reverse 时,其实容器的主轴发生了变化
  • 主轴现在是竖轴,副轴是横轴
    35.png这时候 justify-content 控制的不再是横向的,而是竖向的排列
  • 这时候 align-content / align-items 控制的不再是竖向的,而是横向的排列

6.Let’s Codeing(子项目的属性)

java程序员可省略…

6.1.order: number ; 顺序指定

  • order: 0 ;(默认值都为 0 )
  • 当我将每个子项目的order修改后 order
父:justify-content: space-evenly ;
父:align-items : center ;
子:.item:nth-child(1){    order: 0;}
子:.item:nth-child(2){    order: 1;}
子:.item:nth-child(3){   order: -1;}
子:.item:nth-child(4){    order: 3;}
子:.item:nth-child(5){    order: 2;}
子:.item:nth-child(6){    order: 2;}

看效果36.png

6.2.flex-grow……子项目延伸比率

所谓grow就是当排列元素没有占满一行时,会有剩余空间,

子元素通过设置这个属性,声明要占取剩余空间的剩余份数,

默认所有子元素为0

这里我举两个例子

父: /* 水平对齐方式 */
    justify-content: space-evenly ;
    /* 垂直对齐方式 */
    align-items : center ;
子:.item:nth-child(1){ margin: 10px; flex-grow: 2; }
子:.item:nth-child(2){ margin: 10px; }
子:.item:nth-child(3){ margin: 10px; }

37.png

父: /* 水平对齐方式 */
    justify-content: space-evenly ;
    /* 垂直对齐方式 */
    align-items : center ;
子:.item:nth-child(1){ margin: 10px; flex-grow: 3; }
子:.item:nth-child(2){ margin: 10px; }
子:.item:nth-child(3){ margin: 10px; flex-grow: 1.5;  }

6.3.flex-basis……子项目的基本宽度

  • 覆盖之前设置的width属性
  • 看代码
父: /* 水平对齐方式 */
    justify-content: space-evenly ;
    /* 垂直对齐方式 */
    align-items : center ;
子:.item:nth-child(1){  flex-basis: 100px;  }
子:.item:nth-child(2){  flex-basis: 100px;  }
子:.item:nth-child(3){  flex-basis: 200px;  }

39.png

6.3.flex-shink……子项目收缩比率

  • flex-shink跟flex-grow 正好相反 是当子项目容不下时,设置当前子项目收缩的比例
  • flex-shink:1 ;(默认值为1) ,也就是说每个子项目在容不下时,都会的去均匀收缩
  • 可以试着把第一个设置为0看看
父: max-width: 700px;
  /* 水平对齐方式 */
    justify-content: space-evenly ;
    /* 垂直对齐方式 */
    align-items : center ;
子:.item:nth-child(1){  flex-basis: 300px; flex-shrink: 0;   }
子:.item:nth-child(2){  flex-basis: 300px;  }
子:.item:nth-child(3){  flex-basis: 300px;  }

40.png

  • 再来一个扯一点的案例41.png
  • 好了,还没有理解的话,再写一个,没事沃不累!42.png
  • 终于整完了

6.4.flex: …… ; 再来一个实用的吧

  • flex: 0 1 30% ;
  • grow shink basis
  • 第一个表示延伸比率为 0(不延伸)
  • 第二个表示收缩比率为 1 (不收缩)
  • 第三个表示基本宽度为 30% (以父级容器宽度为标准的30%)
  • 看实战
子:.item:nth-child(1){   flex: 0 1 20% ;   }
子:.item:nth-child(2){   flex: 1 0 30% ;   }
子:.item:nth-child(3){   flex: 0 1 20% ;   }

43.png

6.5.align-self……子元素垂直对齐(self 子项目 自己 单独的排列方式)

  • 默认值 auto auto会接受父级带来的排列方式,
  • 设置后,会覆盖父级的排列方式
  • align-self: flex-start ;(单个自己进行顶部排列 :据主轴而变化44.png
  • align-self: flex-start ;(单个自己进行居中排列 :据主轴而变化46.png
  • align-self: flex-start ;(单个自己进行底部排列 :据主轴而变化47.png
  • align-self: flex-start ;(单个自己进行高度充满排列 )47.png
  • align-self: baseline ;(单独基线排序 一般多个配合使用 )48.png

7.弹性盒子总结图(你的备忘录⭐⭐⭐)49.png

目录
相关文章
|
2月前
|
容器
Bootstrap5 Flex(弹性)布局4
排序:.order 类可设置弹性子元素的排序,范围从 .order-1 至 .order-12,数字越小优先级越高。外边距:.ms-auto 和 .me-auto 分别用于设置子元素的右侧和左侧外边距为 auto。包裹:.flex-nowrap(默认)、.flex-wrap 和 .flex-wrap-reverse 用于控制弹性容器中的子元素是否换行及换行方向。
|
3月前
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
339 57
|
1月前
|
容器
Bootstrap5 Flex(弹性)布局6
使用 `.align-self-*` 类可控制指定子元素的对齐方式,包括 `.align-self-start`, `.align-self-end`, `.align-self-center`, `.align-self-baseline`, 和 `.align-self-stretch`。示例代码展示了如何在一个弹性布局中应用这些类,以实现不同设备上的响应式设计。
Bootstrap5 Flex(弹性)布局5
使用 .align-content-* 控制多行子元素在垂直方向上的堆叠方式,如 .align-content-start、.align-content-center 等。对于单行子元素,使用 .align-items-* 控制对齐,例如 .align-items-start、.align-items-center 等。示例代码展示了不同对齐效果的应用。
Bootstrap5 Flex(弹性)布局2
介绍Flex布局的水平和垂直方向控制。`.flex-row`使子元素水平排列,默认左对齐;`.flex-row-reverse`则右对齐。`.flex-column`让子元素垂直排列;`.flex-column-reverse`则反向排列。示例展示了不同类的效果,通过改变类名实现布局调整。
Bootstrap5 Flex(弹性)布局3
`.justify-content-*` 类用于调整弹性子元素的对齐方式,支持 start、end、center、between、around 等值。`.flex-fill` 类使所有子元素等宽,而 `.flex-grow-1` 则让指定子元素占据剩余空间。这些类在布局设计中非常实用。
|
2月前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
2月前
|
容器
HTML中使用Flex布局实现双行夹批效果
在HTML中,还可以用table元素来实现双行夹批效果,但比flex布局代码更复杂,效果也不见得更理想。
44 10
|
2月前
|
开发者 UED 容器
鸿蒙next版开发:ArkTS组件通用属性(Flex布局)
在HarmonyOS next中,ArkTS的Flex布局是一种强大且灵活的布局方式,支持水平或垂直方向排列元素,并能动态调整大小和位置以适应不同屏幕。主要属性包括justifyContent、alignItems、direction和wrap,适用于导航栏、侧边栏和表单等多种场景。示例代码展示了如何使用这些属性创建美观的布局。
101 10
|
2月前
|
容器
在 Flex 布局中,如何设置元素在侧轴上的初始对齐方式?
【10月更文挑战第22天】同时,还可以进一步探索其他 Flex 布局相关的属性和技巧,以更好地掌握 Flex 布局的强大功能,创造出更具创意和适应性的页面布局。
52 2