前言
多列等高是什么意思?
即需要每个列的高度能与最高的那个列等齐
比如下图,左右2列不会随着中间列高度的增高而随之增高
要达到的效果
方法一:使用flex
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="author" content="tutu"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现多列等高布局的三种方法-flex</title> </head> <style> body,ul { list-style: none; padding: 0; margin: 0; } ul li { background: #000; } ul li p { padding: 10px; margin: 0; color: #fff; } /* 关键代码 */ .test-1 ul { display: flex; } .test-1 li { box-sizing: content-box; width: 33.3%; text-align: center; border: 1px solid red; } </style> <body> <div id="app"></div> <div class="test-1"> <ul> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> </ul> </div> </body> </html>
方法二:使用display:table属性
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="author" content="tutu"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现多列等高布局的三种方法-flex</title> </head> <style> body,ul { list-style: none; padding: 0; margin: 0; } ul li { background: #000; } ul li p { padding: 10px; margin: 0; color: #fff; } /* 关键代码 */ .test-1 ul { display: table; } .test-1 li { box-sizing: content-box; display: table-cell; width: 33.3%; text-align: center; border: 1px solid red; } </style> <body> <div id="app"></div> <div class="test-1"> <ul> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> </ul> </div> </body> </html>
方法三:使用margin和padding
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="author" content="tutu"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>实现多列等高布局的三种方法-flex</title> </head> <style> body,ul { list-style: none; padding: 0; margin: 0; } ul li { background: #000; } ul li p { padding: 10px; margin: 0; color: #fff; } /* 关键代码 */ .test-1 ul { overflow: hidden; } .test-1 li { box-sizing: border-box; float: left; margin-bottom: -9999px; padding-bottom: 9999px; width: 33.3%; text-align: center; border: 1px solid red; } </style> <body> <div id="app"></div> <div class="test-1"> <ul> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> <li> <p> 床前明月光,疑是地上霜,举头望明月,低头思故乡 </p> </li> </ul> </div> </body> </html>
有需要的朋友可以领取支付宝到店红包,能省一点是一点