页面两栏布局

页面两栏布局分为下面几种情况:

  • 一栏固定宽度,一栏自适应
  • 一栏不定宽,一栏自适应
  • 两栏等高
  • 左右宽度比为1:2,右边又分为上下两栏,高度为1:1

一栏固定宽度,一栏自适应

1⃣️左侧float:left,右侧margin-left

.left{
 width:200px;
 float: left;
 height: 200px;
}
.right{
 margin-left: 200px;
 height: 200px;
}

注意:块级元素具有流动特性,即默认会填充外部容器,所以只需要margin,不需要设置width就可以让content填满剩余的部分
2⃣️左侧float:left;右侧overflow:hidden;
.left{
float: left;
width: 200px;
height: 200px;
}
.right{
overflow: hidden;
height: 200px;
}

右侧设置的overflow:hidden会触发块级格式化上下文(BFC)
具有BFC特性的元素可以看作是隔离了的独立容器,容器里面的元素不会布局上影响外面的元素,并且BFC具有普通元素没有的特性:如下边距不发生折叠;可以清除浮动;可以阻止元素被覆盖。
正因为有这些特性,所以右边可以用触发BFC的元素来清除左边浮动的影响。
触发来BFC的元素仍然保持流体特性,也就是说BFC元素虽然不与浮动交集,自动退避浮动元素宽度的距离,但本身做为普通元素的流体特性依然存在,反映在布局上就是自动填满除去浮动内容以外的剩余空间。
3⃣️利用绝对定位

.left{
width: 200px;
}
.right{
position: absolute;
left: 200px;
right: 0;
top: 0;
}

通过right:0来限制右边的宽度
或者可以用左边绝对定位法
.left{
  width: 200px;
  position: absolute;
  left: 0;
  top: 0;
}
.right{
  margin-left: 200px;
}

4⃣️利用弹性布局

.container{
  display: flex;
}
.left{
  width: 200px;
}
.right{
  flex: 1;
}

一栏不定宽,一栏自适应

左侧的宽度会随着内容的大小而缩放
1⃣️左侧float:left;右侧overflow:hidden;

.left{
  float: left;
 }
.right{
  overflow: hidden;
}

2⃣️利用弹性布局

.container{
  display: flex;
}
.right{
  flex: 1;
}

左右宽度比1:2,右边又分为上下结构,高度比为1:1

利用flex

.container{
  display: flex;
}
.left{
  width: 33.3%;
}
.right{
  flex: 1;
}
.right .item{
  height: 50%;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,843评论 1 92
  • 单列布局水平居中水平居中 水平居中的页面布局中最为常见的一种布局形式,多出现于标题,以及内容区域的组织形式,下面介...
    Osmond_wang阅读 341评论 0 1
  • 本文概要 本文将介绍如下几种常见的布局: 单列布局 两列自适应布局 圣飞布局和双飞翼布局 伪等高布局 粘连布局 一...
    强哥科技兴阅读 317评论 0 0
  • 缘分没有长短,只有值不值;真心没有贵贱,只有懂不懂。有些人,见或不见都在心间;念或不念都在眼前。从“哈哈”到“呵呵...
    持续行动的泡沫阅读 255评论 3 2
  • 最近因为房子装修问题,无奈之下选择搬到老家住几天。老家里有公公婆婆和大哥大嫂一家人住,房子比较紧张,勉强还可以住的...
    sun山药蛋子阅读 468评论 0 0