Blogger Information
Blog 40
fans 3
comment 0
visits 48198
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
Flex弹性盒子基础属性,主轴与交叉轴理解,剩余空间排列理解 - 第九期线上班20191105
MArtian
Original
2162 people have browsed it

做了单行和多行元素的排序,没有把所有执行结果都截图出来。

  1. <style type="text/css">
  2. *{margin:0;padding:0}
  3. h3{
  4. text-align: center;
  5. font-size: 16px;
  6. width:500px;
  7. padding: 15px;
  8. }
  9. .item{
  10. background:#ffcaca;
  11. border:solid 1px #919191;
  12. box-sizing: border-box;
  13. text-align: center;
  14. padding: 50px;
  15. width:100px;
  16. }
  17. .container{
  18. width:500px;
  19. height:500px;
  20. display: flex;
  21. flex-flow:row wrap;
  22. /*justify-content: space-around; */
  23. /*justify-content: space-between;*/
  24. justify-content: space-evenly;
  25. align-items: center; /*交叉轴居中*/
  26. /*align-items:flex-start; 交叉轴起始线开始*/
  27. /*align-items:end-start; 交叉轴终止线开始*/
  28. /*align-items:stretch; 交叉轴占满列*/
  29. border:solid 2px #7f6ded;
  30. box-sizing: border-box;
  31. }
  32. </style>
  33. <h3>单行排列</h3>
  34. <div class="container">
  35. <div class="item">1</div>
  36. <div class="item">2</div>
  37. <div class="item">3</div>
  38. <div class="item">4</div>
  39. </div>

单行排列

  1. <style type="text/css">
  2. h3{
  3. text-align: center;
  4. font-size: 16px;
  5. width:500px;
  6. padding: 15px;
  7. }
  8. .item{
  9. background:#ffcaca;
  10. border:solid 1px #919191;
  11. box-sizing: border-box;
  12. text-align: center;
  13. padding: 50px;
  14. width:100px;
  15. }
  16. .container2{
  17. width:500px;
  18. height:500px;
  19. padding: 20px;
  20. display: flex;
  21. flex-flow:column wrap;
  22. /*justify-content: space-around; */
  23. /*justify-content: space-between;*/
  24. justify-content: space-evenly;
  25. /*align-content:space-around;*/
  26. /*align-content:space-evenly;*/
  27. align-content:space-between;
  28. border:solid 2px #7f6ded;
  29. box-sizing: border-box;
  30. }
  31. </style>
  32. <h3>多行排列</h3>
  33. <div class="container2">
  34. <div class="item">1</div>
  35. <div class="item">2</div>
  36. <div class="item">3</div>
  37. <div class="item">4</div>
  38. <div class="item">5</div>
  39. <div class="item">6</div>
  40. <div class="item">7</div>
  41. <div class="item">8</div>
  42. <div class="item">9</div>
  43. </div>

"多行排列"

Flex弹性盒子布局的两个难点是交叉轴剩余空间分配方案
交叉轴交叉轴垂直于主轴的轴线, flex-direction 控制元素的排列方向的垂直方向就是交叉轴。


剩余空间分配方案属性图解


space-around
space-between
space-evenly

不管是justify-content还是align-content原理都是一样的,只是排列方向不同。

总结


1.display:flex/inline-flex的区别是,flex是块级弹性盒子 width:100% 独占一行,inline-flex是内联弹性盒子宽高跟随内容,多个inline-flex可以在同行。
2.盒子的交叉轴并不是垂直方向,取决与flex-direction属性的值是row还是columnrow 交叉轴就是垂直方向,column 交叉轴就是水平方向。
3.justify-content 可以控制主轴元素排列,无论单行还是多行都可以操作。
4.交叉轴单行多行需要分别处理,align-items 是单行排列,align-items只对多行交叉轴有效果。
5.flex-startflex-end 分别指向容器的起止和终止,row 水平方向是最左最右row 水平方向是最上最下
6.stretch 是交叉轴元素占满列。

默写3遍Flex属性。
write1
write2

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