table布局
- 父级容器—display: table
- 子级容器—display:table-cell
- (1) 空间平均划分:子级容器默认是自动平分宽度沾满父级容器;
<body>
<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>
</body>
<style>
.box{
width: 600px;
height: 100px;
display: table;
}
.left,.right{
display: table-cell;
}
.left{
background: yellowgreen;
}
.right{
background: skyblue;
}
</style>
(4) 把此元素放置在父元素的中部,即垂直居中—vertical-align:middle
<body>
<div class="box">
<div class="a"></div>
<div class="b"></div>
<div class="c"></div>
<div class="d"></div>
</div>
</body>
<style>
.box{
width: 600px;
height: 100px;
display: table;
}
.a,.b,.c,.d{
display: table-cell;
}
.a{
background: yellowgreen;
vertical-align: middle;
text-align: center;
}
.b{
background: skyblue;
vertical-align: middle;
text-align: center;
}
.c{
background: palevioletred;
vertical-align: middle;
text-align: center;
}
.d{
background: hotpink;
vertical-align: middle;
text-align: center;
}
</style>
(5) 等高对齐
下面的案例是不对右侧的box设置display:table-cell,只对左侧,所以就会出现左侧跟随右侧高度变化而变化,如果要实现不管两个box哪个高度产生变化另一个就跟随,只需要把右侧的box也设置成display:table-cell就可以实现了。