当前位置:网站首页>三栏布局实现
三栏布局实现
2022-08-10 23:29:00 【柳晓黑胡椒】
三栏布局
实现三栏布局有7种方式
1.flex
body {
margin: 0;
}
.container {
display: flex;
min-width: 400px;
}
.container .left,
.container .right {
width: 100px;
height: 200px;
background-color: red;
}
.container .main {
flex: 1;
background-color: blue;
}
<div class="container">
<div class="left"></div>
<div class="main"></div>
<div class="right"></div>
</div>
2.浮动 + margin
body {
margin: 0;
}
.container {
min-width: 400px;
}
.container .left,
.container .right {
width: 100px;
height: 200px;
background-color: red;
}
.container .left {
float: left;
}
.container .right {
float: right;
}
.container .main {
height: 200px;
margin: 0 100px;
background-color: blue;
}
<div class="container">
<div class="left"></div>
<div class="right"></div>
<div class="main"></div>
<!-- 注意这种方式main容器药房最后面 -->
</div>;
3.浮动 + bfc
body {
margin: 0;
}
.container {
min-width: 400px;
}
.container .left,
.container .right {
width: 100px;
height: 200px;
background-color: red;
}
.container .left {
float: left;
}
.container .right {
float: right;
}
.container .main {
height: 200px;
display: flex;
/* 触发bfc 边框盒不会与浮动元素重叠*/
/* 1.浮动元素 2.绝对定位元素(absolute,fixed) 3.display(inline-block,flex) 4.overflow(不为visible) */
background-color: blue;
}
<div class="container">
<div class="left"></div>
<div class="right"></div>
<div class="main"></div>
<!-- 注意这种方式main容器药房最后面 -->
</div>;
4.table-cell
body {
margin: 0;
}
.container {
display: table;
width: 100%;
min-width: 400px;
}
.container .left,
.container .right {
display: table-cell;
width: 100px;
height: 200px;
background-color: red;
}
.container .main {
display: table-cell;
height: 200px;
background-color: blue;
}
<div class="container">
<div class="left"></div>
<div class="main"></div>
<div class="right"></div>
</div>;
5.定位 + margin
body {
margin: 0;
}
.container {
position: relative;
width: 100%;
min-width: 400px;
}
.container .left,
.container .right {
position: absolute;
top: 0;
width: 100px;
height: 200px;
background-color: red;
}
.container .left {
left: 0;
}
.container .right {
right: 0;
}
.container .main {
margin: 0 100px;
height: 200px;
background-color: blue;
}
<div class="container">
<div class="left"></div>
<div class="main"></div>
<div class="right"></div>
</div>;
6.圣杯布局
注:达到最小宽度后,右边栏会被隐藏
body {
margin: 0;
}
.container {
margin: 0 100px;
min-width: 400px;
}
.container .main {
float: left;
width: 100%;
height: 200px;
background-color: blue;
}
.container .left,
.container .right {
position: relative;
float: left;
width: 100px;
height: 200px;
background-color: red;
}
.container .left {
left: -100px;
margin-left: -100%;
}
.container .right {
right: -100px;
margin-left: -100px;
}
<div class="container">
<!-- 圣杯布局的main是主体要放第一位 -->
<div class="main"></div>
<div class="left"></div>
<div class="right"></div>
</div>;
7.双飞翼布局
body {
margin: 0;
}
.mainBox {
float: left;
width: 100%;
}
.mainBox .main {
float: left;
width: 100%;
height: 200px;
margin: 0 100px;
background-color: blue;
}
.left,
.right {
float: left;
width: 100px; /*给固定宽度*/
height: 200px;
background-color: red;
}
.left {
margin-left: -100%;
}
.right {
margin-left: -100px;
}
<div class="mainBox">
<div class="main"></div>
</div>
<div class="left"></div>
<div class="right"></div>
边栏推荐
- Geogebra 教程之 01 什么是Geogebra,真的可以提高我们数学水平么?
- PlaidCTF 2022 Amongst Ourselves: Shipmate writeup
- 开源一夏 | 盘点那些 Golang 标星超过 20 K 的优质项目
- SurfaceView 的双缓冲
- 逮到一个阿里 10 年老 测试开发,聊过之后收益良多...
- 后疫情时代,VR全景营销这样玩更加有趣!
- Tencent Cloud Lightweight Application Server Configuration and Website Building Tutorial
- Kioptrix Level 1 靶机wp
- 响应式pbootcms模板五金配件类网站
- 小程序制作开发应遵循哪些原则?
猜你喜欢
随机推荐
C3604环保黄铜带
HGAME 2022 复盘 writeup
Talk预告 | 中国科学技术大学和微软亚洲研究院联合培养博士生冷燚冲:语音识别的快速纠错模型FastCorrect
虎符CTF 2022 Quest-Crash Writeup
【C语言篇】操作符之 位运算符详解(“ << ”,“ >> ”,“ & ”,“ | ”,“ ^ ”,“ ~ ”)
鲜花线上销售管理系统的设计与实现
canvas
风控逻辑利器---规则引擎
【秋招】【更新中ing】手撕代码系列
线程池如何监控,才能帮助开发者快速定位线上错误?
大厂面试热点:“热修复机制及常见的几个框架介绍”
后疫情时代,VR全景营销这样玩更加有趣!
卷积神经网络CNN详细介绍
正交基(线性代数)
2.0966 铝青铜板CuAl10Ni5Fe4铜棒
3d虚拟现实数字化展厅给予参观者充分的交互性和空间感
C194铜合金C19400铁铜合金
【C语言篇】表达式求值(隐式类型转换,算术转换)
String
CSAPP lab









