等高布局

来源:互联网 发布:亚马逊德国站情况知乎 编辑:程序博客网 时间:2024/05/29 17:59

padding补偿法
首先把列的padding-bottom设为一个足够大的值,再把列的margin-bottom设一个与前面的padding-bottom的正值相抵消的负值,父容器设置超出隐藏,这样子父容器的高度就还是它里面的列没有设定padding-bottom时的高度,当它里面的任一列高度增加了,则父容器的高度被撑到它里面最高那列的高度,其他比这列矮的列则会用它们的padding-bottom来补偿这部分高度差。

<!DOCTYPE html><html><head>    <style>        *{margin: 0;padding: 0;}        .container{width: 600px;border: 1px solid black;overflow: hidden}        .left{float: left;width: 150px;border: 2px solid red;        padding-bottom: 2000px;margin-bottom: -2000px;}        .right{float: left;width: 400px;border: 3px solid darkblue;        padding-bottom: 2000px;margin-bottom: -2000px;}    </style></head><body><div class="container">    <div class="left">ger</div>    <div class="right">gr<br><br><br>rg</div>    <div style="clear:both"></div></div></body></html>

实现两列布局

<!DOCTYPE html><html><head>    <style>        *{margin: 0;padding: 0;}        .container{width: 900px;border: 1px solid palevioletred;overflow: hidden;position: relative;}        .left{margin-right: 120px; border: 1px solid green;height: 300px;}        .right{float: right;width: 100px;border: 1px solid black;position: absolute;            top:0;right: 0;}        img{max-width: 100px;max-height: 100px;}    </style></head><body><div class="container">    <div class="left"></div>    <div class="right"><img src="4.jpg"/></div></div></body></html>