CSS布局技巧|青训营

109 阅读2分钟
实践记录以及工具使用练习:汇总CSS布局技巧,如浮动、定位、弹性盒子布局等,以及写出它们的应用场景和实操实践。

典型的三栏布局方式

  1. 圣杯布局/ 双飞翼布局
  • 圣杯布局使用padding控制两侧边距,双飞翼布局使用margin控制两侧边距。
  • DOM结构:中、左、右
  • 使用浮动定位,统一向左浮动使其DOM总的位置处在同一行,中间列宽度width:100%自适应。
  • 圣杯布局:最外层盒子设置内边距(left,right被挤压至下一行),left使用margin-left:-100%向左移动父元素宽度,再使用相对定位,margin:-100px向上移动自身高度。right使用margin-right:-100px向右移动自身宽度,浮动至上一行。
  • 双飞翼布局:(center多一层DOM结点,解决了圣杯布局中当中间列宽度小于左右宽度时布局变形的问题)使用center内层的盒子inner设置外边距,为左右列空出位置。左侧left设置margin-left:-100%偏移父盒子的宽度,右侧right设置margin-left:100px将自身位置向左偏移自身宽度。
  1. float布局
  • DOM结构:左、右、中
  • 使用float让左侧元素浮动至左边,右侧元素浮动至右边,center设置外边距,为左右浮动的盒子留出位置。
  1. 绝对定位
  • 对于DOM顺序无特定要求。
  1. flex布局
  • DOM顺序:左、中、右
  • 最外层盒子设置flex布局,主轴为横向排列,两侧盒子定义宽度,中间盒子flex:1自动填充剩余位置。
  1. Grid网格布局
  • display:grid
  • 控制列宽:grid-template-colums:100px,auto,100px