本文主要介绍三种方法简洁,并且没有兼容性问题方法。
1.绝对定位
2.浮动
3.margin负值
## 绝对定位
实现思路:左右两栏采用绝对定位,分别固定页面的两侧,中间的主体用左右margin值来撑开宽度。
代码实现:
利弊分析:
-- 首先这里的三个div的顺序是可以调整的。受内部元素影响而破坏布局的几率较小。
-- 当浏览器宽度小到一定程度,会发生重叠的情况。
## 浮动
实现思路:左栏左浮动,右栏右浮动,中间栏直接放在后面。
代码实现:
利弊分析:
-- 代码简洁,精练
-- 中间主体有点鸡肋,万一来个clear:both!
## margin负值
实现思路:主体采用双层标签。外层div宽度100%显示,并且浮动,内层为真正的内容,通过左右margin值来撑开宽度。左右两栏采用margin负值定位,左栏左浮动,margin-left:100%;因为前面一个div宽度为100%,所以这样设置margin值正好使得左栏div位于页面的左侧;那么右栏也采用左浮动,其margin-left:-200px;大小正好为自身的宽度。正好使得右栏div右侧边框位于页面右侧。
代码实现:
利弊分析:
-- 不受内部元素影响,三个部分互相影响,真正的自适应。
-- 代码复杂。