玄学-等高
by bowen zhao
HTML
<section style='background: gray;'>
<div class="div">玄学:等高布局</div>
<div class="div">
<ol>
<li>把他们的顶部对齐,可以用vertical-align也可以用float</li>
<li>顶部对齐了之后,就要解决高度的差异。两种选择:高的截短;短的补长。很明显前者是个bug</li>
<li>利用padding-bottom来增加到足够高(至少比内容高度多出一个数量级)</li>
<li>margin-bottom等量的负值来收缩父元素的高度</li>
<li>父元素overflow:hidden隐藏多出来的高度</li>
</ol>
</div>
</section>
SCSS
.div {
// 1. 把他们的顶部对齐
// vertical-align: top;
// display: inline-block;
// 1.1 也可以用float把顶部对齐
float: left;
// 2.顶部对齐了之后,就要解决高度的差异。两种选择:高的截短;短的补长。很明显前者是个bug。
/* 2.1 利用padding-bottom来增加到足够高(至少比内容高度多出一个数量级) */
padding-bottom: 9999px;
/* 2.2 margin-bottom等量的负值来收缩父元素的高度*/
margin-bottom: -9999px;
// 3. 父元素overflow:hidden隐藏多出来的高度
// 辅助样式
width: 300px;
background-color: red;
&:nth-child(odd) {
background-color: pink;
}
}
section {
overflow: hidden;
}