WEB常用的三栏自适应布局方法

本文主要介绍三种方法简洁,并且没有兼容性问题方法。

1.绝对定位

2.浮动

3.margin负值


## 绝对定位

实现思路:左右两栏采用绝对定位,分别固定页面的两侧,中间的主体用左右margin值来撑开宽度。

代码实现:


利弊分析:

    --  首先这里的三个div的顺序是可以调整的。受内部元素影响而破坏布局的几率较小。

    --  当浏览器宽度小到一定程度,会发生重叠的情况。

## 浮动

实现思路:左栏左浮动,右栏右浮动,中间栏直接放在后面。

代码实现:



利弊分析:

    --  代码简洁,精练

    --  中间主体有点鸡肋,万一来个clear:both!

## margin负值

实现思路:主体采用双层标签。外层div宽度100%显示,并且浮动,内层为真正的内容,通过左右margin值来撑开宽度。左右两栏采用margin负值定位,左栏左浮动,margin-left:100%;因为前面一个div宽度为100%,所以这样设置margin值正好使得左栏div位于页面的左侧;那么右栏也采用左浮动,其margin-left:-200px;大小正好为自身的宽度。正好使得右栏div右侧边框位于页面右侧。

代码实现:


margin负值的css代码


margin负值的html代码

利弊分析:

    --  不受内部元素影响,三个部分互相影响,真正的自适应。

    --  代码复杂。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,827评论 1 92
  • 1. 负边距在让元素偏移时和position: relative有什么区别? 通过负边距进行偏移的元素,它会放弃原...
    Timmmmmmm阅读 437评论 0 0
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 983评论 0 2
  • 1.11示例 gthank:这节没有必要翻译,全部是下载到本地文件的目录解释,后面有详细的教程! 示例列表示例截图...
    gthank阅读 387评论 0 0
  • 或许,这不是一篇充满阳光的文章。它没有套路,没有心机,只有一些絮絮叨叨的话,和一段十几年的故事,这故事,有关后悔,...
    玛奇朵小姐a阅读 171评论 0 1