极其灵活(还有其他实现方式),需要注意浏览器兼容性
table-cell布局实现步骤
- 给三栏都设置为表格单元 display: table-cell
- left 和 right分别设置 width: 100px和width: 200px,container设置 width: 100%
- 这时 left 和 right 被挤到两边去了,因此要分别设置min-width确保不会被挤压 。
<style>.container {width: 100%;display: table;}.container > div {display: table-cell;height: 300px;}.content {height: 100%;margin: 0 20px;background: #f8cf5f;}.left {width: 100px;min-width: 100px;background-color: #ce5a4b;}.right {width: 200px;min-width: 200px;background-color: #499e56;}</style><body><div class="left"></div><!-- 这时的main要放在中间 --><div class="main"><div class="content"></div></div><div class="right"></div></body>复制代码这种布局方式能使得三栏的高度是统一的,但不能使main放在最前面得到最先渲染
网格布局实现步骤
- 给 container 设置为display: grid
- 设置三栏的高度:grid-template-rows: 300px
- 设置三栏的宽度,中间自适应,两边固定:grid-template-columns: 100px auto 200px;
<style>.container {display: grid;width: 100%;grid-template-rows: 300px;grid-template-columns: 100px auto 200px;}.left {background-color: #ce5a4b;margin-right: 20px;}.main {background-color: #f8cf5f;}.right {background-color: #499e56;margin-left: 20px;}</style><body><div class="container"><div class="left"></div><div class="main"></div><div class="right"></div></div></body>复制代码使用起来极其方便,代码简介,但是兼容性很差
四、多列等高
利用背景图片
<style>.container {background: url("column.png") repeat-y;width: 960px;margin: 0 auto;}.left {float: left;width: 220px;}.main {float: left;width: 480px;}.right {float: left;width: 220px;}</style><body><div class="container"><div class="left"></div><div class="main"></div><div class="right"></div></div></body>复制代码 使用正padding和负margin对冲实现多列布局方法实现步骤:
- background 会填充内边距 padding,而不会填充外边距 margin。margin具有坍塌性,可以设置负值 。
- float:left 。使用float,元素会脱离文档流,使其浮动至最近的文档流元素 。在这里的作用是,将三个div元素并排 。
- overflow:hidden; 设置overflow属性为hidden,这样会让父容器产生BFC(Block Fromatting Context块级格式化上下文)效果,消除float带来的影响 。同时,根据需要,会截取内容以适应填充框,将超出容器的部分隐藏 。
<style>.container {overflow: hidden;}.container>div {/*** padding-bottom 设置比较大的正值 。* margin-bottom 设置绝对值大的负值 。**/padding-bottom: 10000px;margin-bottom: -10000px;float: left;width: 30%;}.left {background-color: #ce5a4b;}.main {background-color: #f8cf5f;}.right {background-color: #499e56;}</style><body><div class="container"><div class="left"></div><div class="main"></div><div class="right"></div></div></body>复制代码 布局 flex实现等高实现思路:
- 父元素设置display:flex, 弹性盒子布局flex,默认值就是自带等高布局的特点
<style>.container {display: flex;}.left {width: 200px;background-color: #ce5a4b;}.main {flex: 1;height: 400px;background: #f8cf5f;}.right {width: 300px;background: #499e56;}</style><body><div class="container"><div class="left"></div><div class="main"></div><div class="right"></div></div></body>复制代码 table-cell等高布局实现步骤:
1.父元素设置dispaly:table, table布局天然就具有等高的特性 。
<style>.container {display: table;}.left {display: table-cell;width: 300px;background-color: #ce5a4b;}.main {display: table-cell;width: 300px;height: 400px;background: #f8cf5f;}.right {display: table-cell;width: 300px;background: #499e56;}</style><body><div class="container"><div class="left"></div><div class="main"></div><div class="right"></div></div></body>复制代码
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 湖南7茶企再陷稀土超标 明伦茶叶等上质检黑榜
- 大学生|“对不起,我们不要超35岁的”,研究生求职被拒,人事的话扎心了
- 汽车金融渗透率超51%,贷款买车怎样避开“套路”?
- 为何入驻天猫 怎样入驻天猫超市
- 窗帘选购与安装注意事项,2000字超全整理,不装修也要先收藏
- 4款超清凉减肥茶 让你这个夏天透心凉
- 店大侠怎么打印快递单 超级店长怎么打印自定义订单
- 超级推荐分时折扣一般设置多少 超级推荐分时折扣什么意思
- 2019年黑客以及安全人员常用的十大工具
- 几大常用的MySQL图形化管理工具推荐!
