- 流体布局 - 主要内容无法优先加载,影响用户体验 - html结构,left,right,center,主要内容无法优先加载 - <div class="container1"><div class="col_left">left</div> <div class="col_right">right</div><div class="col_center">center</div></div>- css - /* 左右浮动,中间加 margin */.col_left {width: 100px;background: rgb(7, 78, 119);float: left;}.col_right {width: 100px;background: rgb(39, 20, 20);float: right;}.col_center {height: 300px;background: green;margin: 0 100px; /* ********大小等于侧边 width */}
- BFC3栏布局 - 主要内容无法优先加载,影响用户体验 - <div class="container1"><div class="col_left">left</div><div class="col_right">right</div><div class="col_center">center</div></div>- css - .col_left {width: 100px;height: 100px;background: red;float: left; /* 左浮动*/}.col_right {width: 100px;height: 100px;background: green;float: right; /*右浮动*/}.col_center {height: 200px;background: blue;overflow: hidden; /*块级格式化上下文 BFC */}
- 双飞翼布局 - 利用的是浮动元素 margin 负值的应用。主体内容可以优先加载, 
 HTML 代码结构稍微复杂点。- <div class="content"><div class="main"></div></div><div class="left"></div><div class="right"></div>- css - .content {float: left;width: 100%; /*设置宽度,使得剩下元素下移*/}.main {height: 200px;margin-left: 110px;margin-right: 220px;background-color: green;}.left {float: left;height: 200px;width: 100px;margin-left: -100%;background-color: red;}.right {width: 200px;height: 200px;float: left;margin-left: -200px;background-color: blue;}
- 圣杯布局 - <div class="container"><div class="main"></div><div class="left"></div><div class="right"></div></div>- css - .container {margin-left: 120px; /*设置盒子大小*/margin-right: 220px;/*设置盒子大小*/}.main {float: left;width: 100%; /*设置盒子大小*/height: 300px;background-color: red;}.left {float: left;width: 100px;height: 300px;margin-left: -100%;position: relative; /*相对定位*/left: -120px; /**/background-color: blue;}.right {float: left;width: 200px;height: 300px;margin-left: -200px;position: relative; /**/right: -220px; /**/background-color: green;}
- Flex 布局 - <div class="container"><div class="main"></div><div class="left"></div><div class="right"></div></div>- css - .container {display: flex;}.main {flex-grow: 1;height: 300px;background-color: red;}.left {order: -1; /**/flex: 0 1 200px;margin-right: 20px;height: 300px;background-color: blue;}.right {flex: 0 1 100px;margin-left: 20px;height: 300px;background-color: green;}
- 绝对定位 - <div class="container"><div class="main"></div><div class="left"></div><div class="right"></div></div>- .container {position: relative;}.main {height: 400px;margin: 0 120px;background-color: green;}.left {position: absolute;width: 100px;height: 300px;left: 0;top: 0;background-color: red;}.right {position: absolute;width: 100px;height: 300px;background-color: blue;right: 0;top: 0;}- 原文:详解 CSS 七种三栏布局技巧 
转载于:https://www.cnblogs.com/rosendolu/p/10602142.html