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月前
|
开发者 容器
flex 布局属性在实际项目中的应用场景有哪些?
flex 布局属性在实际项目中的应用场景有哪些?
|
1月前
|
前端开发 UED 容器
使用 Flex 布局实现垂直居中效果
【10月更文挑战第7天】
109 57
|
21天前
|
前端开发 UED 容器
在 CSS 中使用 Flex 布局实现页面自适应时需要注意什么?
【10月更文挑战第22天】在使用 Flex 布局实现页面自适应时,需要对其基本原理和特性有深入的理解,同时结合具体的布局需求和场景,进行细致的调整和优化。通过合理的设置和注意事项的把握,才能实现理想的自适应效果,提升用户体验。还可以根据实际情况进行更深入的探索和实践,以不断提升 Flex 布局的应用能力。
|
8天前
|
容器
HTML中使用Flex布局实现双行夹批效果
在HTML中,还可以用table元素来实现双行夹批效果,但比flex布局代码更复杂,效果也不见得更理想。
|
10天前
|
开发者 UED 容器
鸿蒙next版开发:ArkTS组件通用属性(Flex布局)
在HarmonyOS next中,ArkTS的Flex布局是一种强大且灵活的布局方式,支持水平或垂直方向排列元素,并能动态调整大小和位置以适应不同屏幕。主要属性包括justifyContent、alignItems、direction和wrap,适用于导航栏、侧边栏和表单等多种场景。示例代码展示了如何使用这些属性创建美观的布局。
37 10
|
21天前
|
容器
在 Flex 布局中,如何设置元素在侧轴上的初始对齐方式?
【10月更文挑战第22天】同时,还可以进一步探索其他 Flex 布局相关的属性和技巧,以更好地掌握 Flex 布局的强大功能,创造出更具创意和适应性的页面布局。
24 2
|
1月前
|
前端开发 容器
flex布局
【10月更文挑战第7天】
28 1
|
1月前
多个p标签,并让div“flex”布局,且单行溢出隐藏
多个p标签,并让div“flex”布局,且单行溢出隐藏
28 0
|
1月前
|
容器
flex布局
flex布局
44 0