table,position,flexbox,grid,响应式布局(适配终端)

盒模型

margin => border => padding => content

  • 标准模型(宽度和高度:content+padding+border)
  • IE替代模型(宽度和高度:content)
    • box-sizing:border-box;

position

  • static
  • relative
  • absolute
  • fixed

注意: 外边距重叠 块的上外边距(margin-top)和下外边距(margin-bottom)会合并(折叠)为单个边距的最大值

float

做文字环绕的效果

  • 尽量靠上,尽量靠左
  • 父级的高度会坍塌

解决:清除浮动

  1. // 父级元素设置 overflow:auto或者overflow:hidden
  2. .parent {
  3. overflow:hidden
  4. }
  5. // 父级元素设置
  6. .parent::after {
  7. content: ' ';
  8. clear: both; // 元素2侧没有浮动元素
  9. display: block; // 默认为inline
  10. visibility: hidden; // 不显示内容
  11. height: 0; // 不占高度
  12. }

三栏布局

  1. <section class="container">
  2. <style>
  3. .container {
  4. height: 200px;
  5. }
  6. .b1 {
  7. float: left;
  8. width: 200px;
  9. height: 100%;
  10. background-color: #ff9b9b;
  11. }
  12. .b2 {
  13. margin-left: 200px;
  14. margin-right: 200px;
  15. // padding-left: 100px;
  16. }
  17. .b3 {
  18. float: right;
  19. width: 200px;
  20. height: 100%;
  21. background-color: #9bffb4;
  22. }
  23. </style>
  24. <div class="b1">left</div>
  25. // b3 在这 显示正常
  26. <div class="b3">right</div>
  27. <div class="b2">center</div>
  28. // b3在最下面会出现下图情况
  29. // <div class="b3">right</div>
  30. </section>

WS9082PD_R){TW~KA94EBNE.png
注意:出现这种情况原因就是float元素尽量靠上,尽量靠左

inline-block

需要考虑间隙的问题

  1. <section class="container">
  2. <style>
  3. .container {
  4. height: 200px;
  5. width: 800px;
  6. font-size: 0;
  7. }
  8. .b1 {
  9. display: inline-block;
  10. width: 200px;
  11. height: 100%;
  12. background-color: #ff9b9b;
  13. font-size: 14px;
  14. }
  15. .b2 {
  16. display: inline-block;
  17. width: 600px;
  18. height: 100%;
  19. background-color: #9bffb4;
  20. font-size: 14px;
  21. }
  22. </style>
  23. <div class="b1">left</div>
  24. <div class="b2">right</div>
  25. </section>

问题:会有间隙
解决:

  • 父元素font-size:0,子元素需设置font-size
  • 代码里去除空格或者加注释<div class="b1">left</div><div class="b2">right</div>

C79JN~KAM{0$N(BY1KLCXOO.png

BFC

响应式布局

  • 隐藏+折行+自适应空间
  • rem/viewport/media query