3栏布局的3种方法

绝对定位法, margin负值法, 自身浮动法

限定下示例的布局结构:左中右三栏布局,左右两栏宽度固定(要想不固定将宽度值改为百分值即可),中间栏宽度自适应。左右两栏的宽度为200像素。

1. 绝对定位法

左右两栏采用绝对定位,分别固定于页面的左右两侧,中间的主体栏用左右margin值撑开距离

<style>
html, body {
    margin: 0;
    height: 100%;
}
#left, #right {
    position: absolute;
    top: 0;
    width: 200px;
    height: 100%;
}
#left {
    left: 0;
    background: red;
}
#right {
    right: 0;
    background: red;
}
#main {
    margin: 0 210px;
    background: green;
    height: 100%;
}
</style>
<body>
<div id="left"></div>
<div id="main"></div>
<div id="right"></div>
</body>

2. margin负值法

首先,中间的主体要使用双层标签。外层div宽度100%显示,并且浮动(本例左浮动,下面所述依次为基础),内层div为真正的主体内容,含有左右210像素的margin值。左栏与右栏都是采用margin负值定位的,左栏左浮动,margin-left为-100%,由于前面的div宽度100%与浏览器,所以这里的-100%margin值正好使左栏div定位到了页面的左侧;右侧栏也是左浮动,其margin-left也是负值,大小为其本身的宽度即200像素。

<style>
html, body{
    margin: 0;
    height: 100%;
}
#main{
    width: 100%;
    height: 100%;
    float: left;
}
#main #body{
    margin: 0 210px;
    background: green;
    height: 100%;
}
#left, #right{
    width: 200px;
    height: 100%;
    float: left;
    background: red;
}
#left{
    margin-left: -100%;
}
#right{
    margin-left: -200px;
}
</style>
<body>
<div id="main">
    <div id="body"></div>
</div>
<div id="left"></div>
<div id="right"></div>
</body>

3. 自身浮动法

应用了标签浮动跟随的特性。左栏左浮动,右栏右浮动,主体直接放后面,就实现了自适应。

<style>
html, body {
    margin: 0;
    height: 100%;
}
#main {
    height: 100%;
    margin: 0 210px;
    background: green;
}
#left, #right {
    width: 200px;
    height: 100%;
    background: red
}
#left {
    float: left;
}
#right {
    float: right;
}
</style>
<body>
<div id="left"></div>
<div id="right"></div>
<div id="main"></div>
</body>

备注:转载于 [张鑫旭-鑫空间-鑫生活]

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,035评论 1 92
  • relative:生成相对定位的元素,通过top,bottom,left,right的位置相对于其正常位置进行定位...
    zx9426阅读 1,061评论 0 2
  • 1. 负边距在让元素偏移时和position: relative有什么区别? 通过负边距进行偏移的元素,它会放弃原...
    Timmmmmmm阅读 475评论 0 0
  • 本文主要介绍三种方法简洁,并且没有兼容性问题方法。 1.绝对定位 2.浮动 3.margin负值 ## 绝对定位 ...
    王小明明明阅读 1,102评论 0 3
  • 毫无意义的文章,接上回 我和C走出了书局。 我全然是喜欢C的,C是我见过最吸引人的女孩。但她对于这两点应该都不知道...
    戏论阅读 282评论 0 1

友情链接更多精彩内容