博客列表 ># 1020作业-盒模型和em 2020-10-20

# 1020作业-盒模型和em 2020-10-20

开吉尔软件
开吉尔软件原创
2020年11月03日 00:13:55632浏览

1026作业:

  1. 实例演示BFC的三个作用
  2. flex容器常用的四个属性, 并实例演示
    可以参考课堂代码, 但建议有所改变
    如果要抄课堂代码, 就必须在本地写三遍以上
    作业只需要提交关键代码就可以了, 一定要配图

1. 实例演示BFC的三个作用

(1)BFC:是一个html页面的独立王国,块级格式化上下文

(2)BFC的三个作用

a.能包含浮动元素
b.不会在垂直方向产生外边距的折叠
c.不会与外部元素重叠

(3)BFC的属性(自定义显示与定位元素)

a. overflow:hiden/auto/scroll ,不是visible
b. display:flex 和display:grid
c. position:absolute /fixed
d. float:left/right 不是none

老师讲的复习

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>BFC块级元素格式化</title>
  7. <style>
  8. * {
  9. margin: 0;
  10. padding: 0;
  11. box-sizing: border-box;
  12. }
  13. .container {
  14. border: 5px dashed;
  15. border-top-color: red;
  16. border-bottom-color: green;
  17. }
  18. .container > .box {
  19. color:white;
  20. width: 10em;
  21. height: 5em;
  22. background-color: violet;
  23. border: 1px solid #000;
  24. /* 将容器中的子元素进行浮动 */
  25. /* 子元素浮动会导致父级元素高度消失,也叫“容器高度折叠” */
  26. float:left;
  27. }
  28. /* 容器折叠解决方案3 : BFC 是目前最主流的解决方案 */
  29. /* BFC:是一个HTML页面的独立王国容器,有权接管内部的全部元素,
  30. 包括浮动元素, */
  31. /* BFC:块级格式化上下文 */
  32. /* BFC特征:
  33. 1.能够包含“浮动元素” overflow:auto/hidden/scroll; 不能是visible
  34. */
  35. .container {
  36. /* overflow:auto; */
  37. overflow:hidden;
  38. /* overflow:scroll; */
  39. /* overflow:visible; */
  40. }
  41. /* BFC特征2:不会在垂直方向产生外边距的折叠
  42. */
  43. .box.box1 {
  44. float: none;;
  45. margin-bottom: 1em;
  46. }
  47. .box.box2 {
  48. float:none;
  49. margin-top: 2em;
  50. }
  51. /* BFC特征3:BFC不会与外部的元素重叠 */
  52. .container img {
  53. width: 30em;
  54. float:left;
  55. }
  56. .container p {
  57. overflow:hidden;
  58. }
  59. /* 创建BFC的属性:(自定义格式的方式 )
  60. 1.overflow:auto/hidden/scroll 不能是visible
  61. 2.display:flex ,display:grid
  62. 3.position:absolute/fixed;
  63. 4.float: left/right,不能是none
  64. */
  65. </style>
  66. </head>
  67. <body>
  68. <div class="container">
  69. <div class="box"></div>
  70. </div>
  71. <hr>
  72. <div class="container">
  73. <div class="box box1">1</div>
  74. <div class="box box2">2</div>
  75. <!-- 附加元素,专用于清除浮动 -->
  76. <!-- <div class="clear"></div> -->
  77. </div>
  78. <hr>
  79. <div class="container">
  80. <img src="http://24812305.s21i.faiusr.com/2/ABUIABACGAAgjZ7v_AUo8LHewwcwwAc47gU.jpg" alt="">
  81. <p>
  82. 买软件 找【开吉尔】 公司电话:0791-88208778
  83. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  84. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。
  85. 买软件 找【开吉尔】 公司电话:0791-88208778
  86. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  87. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。 买软件 找【开吉尔】 公司电话:0791-88208778
  88. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  89. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。 买软件 找【开吉尔】 公司电话:0791-88208778
  90. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  91. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。
  92. 买软件 找【开吉尔】 公司电话:0791-88208778
  93. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  94. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。
  95. 买软件 找【开吉尔】 公司电话:0791-88208778
  96. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  97. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。 买软件 找【开吉尔】 公司电话:0791-88208778
  98. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  99. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。 买软件 找【开吉尔】 公司电话:0791-88208778
  100. 【开吉尔公司】为企业,政府,教育等行业提供IT产品和服务。
  101. 主营:软件销售,服务,定制软件,网站开发,微信开发,办公设备及耗材。
  102. </p>
  103. </div>
  104. </body>
  105. </html>

2.flex容器常用的四个属性, 并实例演示

(1)flex容器常用的四个属性

属性1:
flex-flow:设置主轴方式和项目在主轴上的换行方式
flex-flow:row nowrap; (默认方式,按行的方向排列,不换行)
flex-flow:column nowrap;(按交叉轴方向排列,不换行)
flex-flow:row wrap:(按行方向排列,换行)
属性2:justify-content:项目在主轴方式对齐方式
justify-content:flex-start;(起止线对齐)
justify-content:flex-end:(终止线对齐)
justfiy-content:flex-center;(居中对齐)
justify-content:space-between;(两端对齐)
justify-content:space-around;(分散对齐)
justify-content:space-evenly;(平均对齐)

属性3:align-items:项目在交叉轴上的对齐方式
/ 默认对齐方式 /
align-items:stretch;
/ 居中对齐 /
align-items:center;
/ 起止线对齐 /
align-items:flex-start;
/ 终止线对齐 /
align-items:flex-end;

属性4:align-content:项目在多行容器的对齐方式
/ 起始线对齐 /
align-content:flex-start;
/ 终止线对齐 /
align-content:flex-end;
/ 拉伸对齐 /
align-content:stretch;
/ 两端对齐 /
align-content:space-between;
/ 分散对齐 /
align-content:space-around;
/ 平均对齐 /
align-content:space-evenly;
/ 居中对齐 /
align-content:center

(2)flex实例演示四个属性

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>flex弹性盒子学习(容器与项目)</title>
  7. </head>
  8. <style>
  9. * {
  10. box-sizing: border-box;
  11. }
  12. .container {
  13. /* 父容器的大小属性 */
  14. height: 20em;
  15. border: 1px solid #000;
  16. margin: 1em;
  17. padding: 1em;
  18. /* 容器转成弹性盒子flex布局 */
  19. display:flex;
  20. /* 默认对齐排列方式,可不写 */
  21. flex-flow: row nowrap;
  22. /* 对齐方式代码写在父容器里面 */
  23. /* 主轴对齐方式 */
  24. /* 居中对齐 center */
  25. justify-content:center;
  26. /* 起止线对齐 */
  27. justify-content:flex-start;
  28. /* 终止线对齐 */
  29. justify-content:flex-end;
  30. /* 两端对齐-剩余空间除了2端项目之外平均分配 */
  31. justify-content:space-between;
  32. /* 分散对齐-每个项目两边相等空间分配 */
  33. justify-content:space-around;
  34. /* 平均对齐:每个项目之间的空间平均分配 */
  35. justify-content:space-evenly;
  36. /* 交叉轴对齐方式 */
  37. /* 默认对齐方式 */
  38. align-items:stretch;
  39. /* 居中对齐 */
  40. align-items:center;
  41. /* 起止线对齐 */
  42. align-items:flex-start;
  43. /* 终止线对齐 */
  44. align-items:flex-end;
  45. }
  46. .container > .box {
  47. /* 项目大小属性(子容器) */
  48. width: 4em;
  49. border: 1px solid #000;
  50. text-align: center;
  51. }
  52. .container {
  53. display:flex;
  54. /* 初始化主轴对齐方式 */
  55. justify-content:initial;
  56. /* 初始化交叉轴对齐方式 */
  57. align-items:initial;
  58. /* 定义为多行容器,允许换行 */
  59. flex-flow:row wrap;
  60. /* align-content:项目在多行容器的对齐方式 */
  61. /* 起始线对齐 */
  62. align-content:flex-start;
  63. /* 终止线对齐 */
  64. align-content:flex-end;
  65. /* 拉伸对齐 */
  66. align-content:stretch;
  67. /* 两端对齐 */
  68. align-content:space-between;
  69. /* 分散对齐 */
  70. align-content:space-around;
  71. /* 平均对齐 */
  72. align-content:space-evenly;
  73. /* 居中对齐 */
  74. align-content:center
  75. }
  76. </style>
  77. <body>
  78. <div class="container">
  79. <div class="box">item1</div>
  80. <div class="box">item2</div>
  81. <div class="box">item3</div>
  82. <div class="box">item4</div>
  83. <div class="box">item5</div>
  84. <div class="box">item6</div>
  85. <div class="box">item7</div>
  86. <div class="box">item8</div>
  87. <div class="box">item9</div>
  88. <div class="box">item10</div>
  89. <div class="box">item11</div>
  90. <div class="box">item12</div>
  91. </div>
  92. </body>
  93. </html>
声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议