方法一:浮动+margin
实现方法:左栏向左浮动,右栏向右浮动,中间栏不设宽度,用左右margin来撑开距离。
CSS三栏布局 左栏右栏中间栏
注意:该方法在html布局时,要把中间栏放在左栏,右栏的后面,左栏和右栏的顺序不定。这就导致主列所显示的主页面无法率先加载,影响用户体验。
方法二:绝对定位法
实现方法:左栏,右栏绝对定位,分别固定到页面左右两侧,中间栏宽度自适应,用左右margin来撑开距离。
CSS三栏布局 左栏中间栏右栏
方法三:浮动+margin负值法
实现方法:左右两栏宽度固定,中间栏宽度100%,中间栏,左栏,右栏向左浮动,左栏的margin-left设为-100%,右栏的margin-left设为-右栏宽度。
CSS三栏布局 中间栏左栏右栏
注意:该方法在html布局时,要把中间栏放在第一个,但这种情况会出现左右列覆盖中间列的情况。
方法四:圣杯布局
实现方法:在上一个方法的基础上增加了padding-left,padding-right,position:relative。
CSS三栏布局 中间栏左栏右栏
此方法的优点是主列率先加载,允许任何列是最高的。
方法五:双飞翼布局
实现方法:在第三种方法的基础上为中间列增加一个父div,让这个父div的宽度为100%,float: left,设置中间列的左右边距。
CSS三栏布局 中间栏左栏右栏
此方法优点是率先加载中间列,允许任何列是最高的。
方法六:Flex布局
CSS三栏布局 左栏中间栏右栏
此方法优点:简单高效