Blogger Information
Blog 20
fans 1
comment 0
visits 17689
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Flex弹性盒元素介绍和实例
xosing的博客
Original
674 people have browsed it

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倍大小

Correcting teacher:天蓬老师天蓬老师

Correction status:qualified

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post