博客列表 >Flex弹性盒元素介绍和实例

Flex弹性盒元素介绍和实例

xosing的博客
xosing的博客原创
2020年12月23日 18:59:08670浏览

1,什么是Flex

  1. 任何元素都可以通过添加display: flex属性,转为弹性盒元素称之为容器
  2. 转为flex元素后,它的内部的”子元素”就支持flex布局了,称之为项目
  3. 主轴: 项目排列的轴线,水平方向
  4. 交叉轴: 与主轴垂直的轴线
  5. Flex作用于父子级关系,其他后代无作用.
  6. 设为 Flex 布局以后,子元素的float、clear属性将失效。

2. 容器属性

属性 说明 默认值
flex-flow 主轴方向与换行方式, 水平排列,不换行. row nowrap
justify-content 定义项目在主轴上的对齐方式。 左对齐 justify-start
align-items 定义项目在交叉轴上的对齐方式. 未设置高度或auto,将占满整个容器的高度。stretch
align-content 定义项目在多行容器中的对齐方式. 轴线占满整个交叉轴。stretch

justify-content的使用

1. 将所有项目视为一个整体,在项目组二边进行分配

justify-content: flex-start;

justify-content: flex-end;

justify-content: center;

2. 将项目视为一个个独立的个体,在项目之间进行分配

二端对齐justify-content: space-between;

分散对齐justify-content: space-around;

平均对齐justify-content: space-evenly;

html代码

  1. <h2>flex-start</h2>
  2. <div class="box">
  3. <div>1</div>
  4. <div>2</div>
  5. <div>3</div>
  6. <div>4</div>
  7. </div>
  8. <h2>flex-end</h2>
  9. <div class="box">
  10. <div>1</div>
  11. <div>2</div>
  12. <div>3</div>
  13. <div>4</div>
  14. </div>
  15. <h2>center</h2>
  16. <div class="box">
  17. <div>1</div>
  18. <div>2</div>
  19. <div>3</div>
  20. <div>4</div>
  21. </div>
  22. <h2>space-between; 二端对齐</h2>
  23. <div class="box">
  24. <div>1</div>
  25. <div>2</div>
  26. <div>3</div>
  27. <div>4</div>
  28. </div>
  29. <h2>space-around; 分散对齐</h2>
  30. <div class="box">
  31. <div>1</div>
  32. <div>2</div>
  33. <div>3</div>
  34. <div>4</div>
  35. </div>
  36. <h2>space-evenly; 平均对齐</h2>
  37. <div class="box">
  38. <div>1</div>
  39. <div>2</div>
  40. <div>3</div>
  41. <div>4</div>
  42. </div>

css代码

  1. <style>
  2. * {
  3. box-sizing: border-box;
  4. }
  5. div.box {
  6. background-color: violet;
  7. display: flex;
  8. margin: 1em;
  9. min-height: 4em;
  10. }
  11. h2 {
  12. color: violet;
  13. font-size: 1.25em;
  14. }
  15. .box div {
  16. background-color: lightcyan;
  17. margin: 1em;
  18. width: 5em;
  19. height: 2em;
  20. }
  21. .box:nth-of-type(1) {
  22. justify-content: flex-start;
  23. }
  24. .box:nth-of-type(2) {
  25. justify-content: flex-end;
  26. }
  27. .box:nth-of-type(3) {
  28. justify-content: center;
  29. }
  30. .box:nth-of-type(4) {
  31. justify-content: space-around;
  32. }
  33. .box:nth-of-type(5) {
  34. justify-content: space-between;
  35. }
  36. .box:nth-of-type(6) {
  37. justify-content: space-evenly;
  38. }
  39. </style>

align-items的使用

align-items: flex-start;

align-items: flex-end;

align-items: center;

align-items: stretch;

align-content的使用

align-content: flex-start;

lign-content: flex-end;

align-content: center;

二端对齐align-content: space-between;

分散对齐align-content: space-around;

平均对齐align-content: space-evenly;

3. 项目的属性

属性 说明
order 排列顺序,数值越小,排列越靠前,默认为0。
flex 通常用来设置某一个项目的特征 默认flex: 0 1 auto;不放大可缩小
align-self 某个项目的对齐方式

align-self 如下图实例

align-self:flex-start;

align-self:center;

align-self:flex-end;

order 如下图实例

第三个项目显示到第一个窗口

flex 如下图实例

第三个项目是1,2,3项目的2倍大小

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议