博客列表 >flex布局——子元素定位篇--12-23作业

flex布局——子元素定位篇--12-23作业

十年一梦
十年一梦原创
2019年12月24日 14:50:234442浏览

flex布局——子元素定位篇

1、主轴方形

  • 默认为水平轴,默认方向为 从左到右 其父元素css属性默认lex-direction: row;为下图所示;

  • 改变flex为垂直轴,默认方向为从上往下其父元素css属性为lex-direction: column;如下图;


2、子元素排列方式

  • 默认子元素排列方式为一行排列,如超过父元素的宽度,则同时缩小子元素的宽度,如下图;

  • 子元素换行,默认父元素css属性flex-wrap:nowrap;不换行,更改其为flex-wrap:wrap;就可以换行,如图;


3、主轴方向和是否换行的简写

  • css 属性 flex-flow: row wrap; 第一个位置的 row是设置主轴方向就是默认水平, 第二个位置wrap是设置是否换行,这个就是允许换行;

4、设置子元素在主轴的对齐方式

  • 默认对齐方式默认为从主轴开始的地方排列其父元素css属性为justify-content: flex-start;,如图;

  • 更改其父元素css 属性为 justify-content: flex-end;就可以从主轴结束的地方排列,如图;

  • 更改其父元素css 属性为 justify-content: center; 就可以居中对齐,如图;

  • 更改其父元素css 属性为 justify-content: space-between;就可以两端对齐,如图;

  • 更改其父元素css 属性为 justify-content: space-around;就可以分散对齐,我自己称为手拉手模式,如图;

  • 更改其父元素css 属性为 justify-content: space-evenly;就可以平均对齐,我自己成为手搭肩模式,如图;


5、子元素在交叉轴上的对齐方式

  • 默认在交叉轴对齐方式css属性为align-items: flex-start;从开始的方向对齐,如图;

  • 更改其父元素css属性为align-items: flex-end;从结束的方向对齐,如图;

  • 更改其父元素css属性为align-items: center;居中对齐,如图;


6、设置多行子元素在交叉轴的对齐方式

  • 交叉轴对齐方式css属性为align-content: space-between;从在交叉轴两端对齐,如图;

  • 交叉轴对齐方式css属性为align-content: space-around;从在交叉轴分散,如图;

  • 交叉轴对齐方式css属性为align-content: space-evenly;从在交叉轴平均对齐,如图;

附: html代码

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>flex布局-元素定位篇</title>
  6. <style>
  7. *{
  8. margin: 0;
  9. padding: 0;
  10. }
  11. .container {
  12. margin:50px;
  13. border: 1px solid #0086b3;
  14. box-sizing: border-box;
  15. background: lightgrey;
  16. display: flex;
  17. width: 600px;
  18. height: 300px;
  19. /*flex-direction: column;*/
  20. flex-wrap: wrap;
  21. /*justify-content: flex-end;*/
  22. /*justify-content: center;*/
  23. /*justify-content: space-between;*/
  24. /*justify-content: space-around;*/
  25. /*justify-content: space-evenly;*/
  26. /*align-items: flex-start;*/
  27. /*align-items: flex-end;*/
  28. /*align-items: center;*/
  29. /*align-content: space-between;*/
  30. /*align-content: space-around;*/
  31. /*align-content: space-evenly;*/
  32. }
  33. .item{
  34. border: 1px solid #795da3;
  35. box-sizing: border-box;
  36. background: lightgoldenrodyellow;
  37. width: 50px;
  38. height: 100px;
  39. }
  40. </style>
  41. </head>
  42. <body>
  43. <div class="container">
  44. <div class="item">1</div>
  45. <div class="item">2</div>
  46. <div class="item">3</div>
  47. <div class="item">4</div>
  48. <div class="item">5</div>
  49. <div class="item">6</div>
  50. <div class="item">7</div>
  51. <div class="item">8</div>
  52. <div class="item">9</div>
  53. <div class="item">10</div>
  54. <div class="item">11</div>
  55. <div class="item">12</div>
  56. <div class="item">13</div>
  57. <div class="item">14</div>
  58. <div class="item">15</div>
  59. </div>
  60. </body>
  61. </html>
在使用flex简单应用中,感觉比浮动和定位要智能很多,也减少很多代码长度,避免很多不要的麻烦,在整体布局中能很多的做到同一性,人为的纠错过程中也能减少寻找错误的时间,总的来说还是比较方便,flex 只是父子两个级别,组成一个个小的模块,也使布局更简单化。还是值得期待的!
手写版笔记,请忽略我这难看的字吧!

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