博客列表 >前端学习-1223号作业

前端学习-1223号作业

天
原创
2019年12月31日 13:15:20563浏览

Flex 布局

1. flex是什么

  1. flex: 弹性布局
  2. flex:兼容性不要担心

2. flex解决了什么问题

  1. 块元素的垂直居中
  2. 元素在容器中 自动伸缩,适应容器大小的变化,特别适合移动端布局

3. flex布局的角色/参与者有哪些

  1. 父元素叫: flex容器(container)
  2. 子元素叫: flex项目(item) 或 flex元素

4. flex 项目的布局方向是什么

  1. flex是一维布局,项目要么水平排列, 要么垂直排列,任何时间都只能沿着一个方向排列
  2. flex项目的排列方向, 称为主轴, 排列方式有二种, 所以主轴也有二种: 水平/行轴,垂直/纵轴
  3. 与主轴对应的轴,称为交叉轴, 副轴, 侧轴

5. 可以用到flex容器上的属性有哪些

5.1、flex-direction: 设置容器中的主轴方向

    1. 5.1.1、flex-direction: row; 按行方向延伸
    1. 5.1.2、flex-direction: column; 按列方向延伸

5.2、flex-wrap: 是否允许创建多行容器, 一行排不下, 是否允许换行显示

  1. 5.2.1、flex-wrap: nowrap; 允许换行
  2. 5.2.2、flex-wrap: wrap; 不允许换行

5.3、flex-flow: 是上面二个属性的简写

  1. flex-flow: 主轴方向 是否换行显示;
  2. flex-flow: row wrap; 按行方向延伸且允许换行

5.4、justify-content: 设置容器中的项目在主轴上的对齐方式

  1. 5.4.1、justify-content: flex-start; 向起始线对齐
  2. 5.4.2、justify-content: flex-end; 向终止线对齐
  3. 5.4.3、justify-content: center; 居中对齐

5.5、justify-content: 可以分配主轴上剩余空间

  1. 5.5.1、justify-content: space-between; 两端对齐
  2. 5.5.2、justify-content: space-around; 分散对齐
  3. 5.5.3、justify-content: space-evenly; 平均对齐

5.6、align-items: 项目在交叉轴上的排列方式

  1. 5.6.1、align-items: flex-start; 顶部对齐
  2. 5.6.2、align-items: flex-end; 底部对齐
  3. 5.6.3、align-items: center; 垂直居中对齐

5.7、align-content: 设置项目在多行容器交叉轴上的对齐方式

  1. 5.7.1、align-content: space-between; 上下对齐
  2. 5.7.2、align-content: space-around; 分散对齐
  3. 5.7.3、align-content: space-evenly; 平均对齐

    6、练习案例

    6.1 原始布局

    1. <!DOCTYPE html>
    2. <html lang="en">
    3. <head>
    4. <meta charset="UTF-8">
    5. <title>flex术语</title>
    6. <style>
    7. .container{
    8. border: 1px dashed;
    9. /*只要盒子加了padding,border 就马上加上box-sizing*/
    10. box-sizing: border-box;
    11. background-color: lightblue;
    12. }
    13. .item{
    14. width: 100px;
    15. height: 50px;
    16. outline: 1px dashed lightcoral;
    17. background-color: wheat;
    18. }
    19. </style>
    20. </head>
    21. <body>
    22. <div class="container">
    23. <span class="item">1</span>
    24. <span class="item">2</span>
    25. <span class="item">3</span>
    26. <span class="item">4</span>
    27. <span class="item">5</span>
    28. <span class="item">6</span>
    29. </div>
    30. </body>
    31. </html>

    6.2、转为弹性盒子,默认主轴是行

    1. .container{
    2. /*转为单性盒子*/
    3. display: flex;
    4. /*子元素全部转为:行内块元素,水平排列,可以设置宽和高*/
    5. /*1、设置主轴方向,默认为行*/
    6. flex-direction: row;
    7. /*2、是否换行*/
    8. flex-wrap:wrap;
    9. }

    6.3、主轴方向转换成列

    1. .container{
    2. /*转为单性盒子*/
    3. display: flex;
    4. /*子元素全部转为:行内块元素,水平排列,可以设置宽和高*/
    5. /*1、设置主轴方向,默认为行*/
    6. flex-direction: column;
    7. /*2、是否换行*/
    8. flex-wrap:wrap;
    9. height: 200px;
    10. /*3、flex-wrap: 主轴方向,是否换行;*/
    11. /*flex-flow: column wrap;*/
    12. }

    6.4、主轴为行,可换行,排列方式

    1. 6.4.1、居左
    1. 6.4.2、居中
    1. 6.4.3、居右
    1. .container{
    2. /*4、设置容器在主轴方向上的对齐方式*/
    3. justify-content: flex-start;
    4. justify-content: center;
    5. justify-content: flex-end;
    6. }

    6.5、主轴为行,可换行,对齐方式

  4. 6.4.1、两端对齐
  5. 6.4.2、分散对齐
  6. 6.4.3、平均对齐
    1. .container{
    2. /*可以分配主轴上的剩余空间*/
    3. justify-content:space-between; /*两端对齐*/
    4. justify-content:space-around; /*分散对齐*/
    5. justify-content:space-evenly; /*平均对齐*/
    6. }

    6.6、主轴为行,可换行,交叉轴排列方式

    1. 6.6.1、居上
    1. 6.6.2、居中
    1. 6.6.3、居下
    1. .container{
    2. /*5、项目在交叉轴上的对齐方式*/
    3. align-items: flex-start;
    4. align-items: flex-end;
    5. align-items: center;
    6. }

    6.7、主轴为行,可换行,交叉轴对齐方式

  7. 6.7.1、两端对齐
  8. 6.7.2、分散对齐
  9. 6.7.3、平均对齐
    1. .container{
    2. /*6、align-content: 设置项目在多行容器交叉轴上的对齐方式*/
    3. align-content: space-between; /*两端对齐*/
    4. align-content: space-around; /*分散对齐*/
    5. align-content: space-evenly; /*平均对齐*/
    6. }
    7、手写作业
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议