一:Flex三栏布局
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.container {display: flex; }
.main {flex-grow: 1; height: 250px;background-color:gold;}
.left {order:-1; flex: 0 1 200px; margin-right: 25px; height: 250px;background-color:red;}
.right{ flex: 0 1 100px;margin-left: 25px;height:250px;background-color: purple;}
</style>
</head>
<body>
<div class="container">
<div class="main"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
效果如下
![](https://images2018.cnblogs.com/blog/1335967/201804/1335967-20180405185922231-1684415925.png)
二:BFC三栏布局
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.left { float: left;height: 200px;width: 100px; margin-right: 20px; background-color: red; }
.right { width: 200px; height: 200px; float: right;margin-left: 20px; background-color: blue; }
.main { height: 200px; overflow: hidden; background-color: green; }
</style>
</head>
<body>
<div class="container">
<div class="left"></div>
<div class="right"></div>
<div class="main"></div>
</div>
</body>
</html>
效果如下图;
![](https://images2018.cnblogs.com/blog/1335967/201804/1335967-20180405190400809-1718936077.png)
三:绝对定位三栏布局
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.container { position: relative; }
.main {height: 300px; margin: 0 100px; background-color:purple; }
.left {position: absolute; width: 100px; height: 300px; left: 0; top: 0; background-color:springgreen; }
.right { position: absolute; width: 100px;height: 300px;background-color: blue;right: 0; top: 0; }
</style>
</head>
<body>
<div class="container">
<div class="main"></div>
<div class="left"></div>
<div class="right"></div>
</div>
</body>
</html>
效果如下图
![](https://images2018.cnblogs.com/blog/1335967/201804/1335967-20180405190650232-603527230.png)
四:双飞翼三栏布局
<!DOCTYPE html>
<html lang="en">
<head>
<style>
.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: right; margin-left: -200px; background-color: blue;}
</style>
</head>
<body>
<div class="content">
<div class="main"></div>
</div>
<div class="left"></div>
<div class="right"></div>
</body>
</html>
![](https://images2018.cnblogs.com/blog/1335967/201804/1335967-20180405191419692-698084765.png)
双飞翼布局是将一个网页分为左列,中列和右列三部分效果是:左列和右列宽度恒定,中间列的宽度根据浏览器窗口的大小自适应。
优点:(1)兼容性好,兼容若有主流浏览器
(2)可以实现内容的优先加载
实际布局中还有其他许多三栏布局形式。CSS世界浩瀚无穷!