脚本宝典收集整理的这篇文章主要介绍了介绍几种CSS实现两列等高的方法,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
两列布局,其中右侧的高度是根据内容变化的,希望左侧的高度也能和右侧保持一致。
示例中左侧为青色背景的行内块,右侧为图片,代码如下:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Equal Height</title> 7 <style> 8 .container { 9 /* 将父元素的字体设为0,解决图片和行内元素之间的间距 */ 10 font-size: 0; 11 border: 1px solid #999; 12 } 13 .left { 14 width: 200px; 15 padding: 10px 0; 16 background-color: #76e2e4; 17 text-align: center; 18 display: inline-block; 19 } 20 img { 21 vertical-align: top; 22 max-width: 500px; 23 max-height: 600px; 24 } 25 </style> 26 </head> 27 <body> 28 <h4>Equal Height</h4> 29 <div class="container"> 30 <div class="left"> 31 <button id="mzzi1">换个妹子</button> 32 </div> 33 <img 34 src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F100H0113K8%2F20100G13K8-7-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709622&t=df224c9393368e871e7bcc7a454e58d9" 35 alt="" 36 /> 37 </div> 38 </body> 39 <script> 40 let urls = [ 41 "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.win4000.com%2Fmobile%2F2020-05-13%2F5ebba71243a85.jpg&refer=http%3A%2F%2Fpic1.win4000.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709918&t=41e048a206e8ac4cc241790f520454cb" 42 ]; 43 window.onload = () => { 44 let img = document.querySelector(".container img"); 45 let btns = document.querySelectorAll(".left button"); 46 btns[0].onclick = () => { 47 img.src = urls[0]; 48 }; 49 }; 50 </script> 51 </html>
右侧的高度根据图片的变化而变化,而左侧的高度默认情况下没有保持一致。
这就是等高列问题,介绍几种实现实现方法:
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Equal Height Flex</title> 7 <style> 8 .container { 9 display: flex; 10 border: 1px solid #999; 11 } 12 .left { 13 width: 200px; 14 padding-top: 10px; 15 background-color: #76e2e4; 16 text-align: center; 17 } 18 img { 19 max-width: 500px; 20 max-height: 600px; 21 } 22 </style> 23 </head> 24 <body> 25 <h4>Equal Height Flex</h4> 26 <div class="container"> 27 <div class="left"> 28 <button id="mzzi1">换个妹子</button> 29 </div> 30 <img 31 src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F100H0113K8%2F20100G13K8-7-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709622&t=df224c9393368e871e7bcc7a454e58d9" 32 alt="" 33 /> 34 </div> 35 </body> 36 <script> 37 let urls = [ 38 "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.win4000.com%2Fmobile%2F2020-05-13%2F5ebba71243a85.jpg&refer=http%3A%2F%2Fpic1.win4000.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709918&t=41e048a206e8ac4cc241790f520454cb", 39 ]; 40 window.onload = () => { 41 let img = document.querySelector(".container img"); 42 let btns = document.querySelectorAll(".left button"); 43 btns[0].onclick = () => { 44 img.src = urls[0]; 45 }; 46 }; 47 </script> 48 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Equal Height Grid</title> 7 <style> 8 .container { 9 display: grid; 10 grid-template-columns: 200px auto; 11 border: 1px solid #999; 12 } 13 .left { 14 width: 200px; 15 padding-top: 10px; 16 background-color: #76e2e4; 17 text-align: center; 18 } 19 img { 20 max-width: 500px; 21 max-height: 600px; 22 } 23 </style> 24 </head> 25 <body> 26 <h4>Equal Height Grid</h4> 27 <div class="container"> 28 <div class="left"> 29 <button id="mzzi1">换个妹子</button> 30 </div> 31 <img 32 src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F100H0113K8%2F20100G13K8-7-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709622&t=df224c9393368e871e7bcc7a454e58d9" 33 alt="" 34 /> 35 </div> 36 </body> 37 <script> 38 let urls = [ 39 "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.win4000.com%2Fmobile%2F2020-05-13%2F5ebba71243a85.jpg&refer=http%3A%2F%2Fpic1.win4000.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709918&t=41e048a206e8ac4cc241790f520454cb", 40 ]; 41 window.onload = () => { 42 let img = document.querySelector(".container img"); 43 let btns = document.querySelectorAll(".left button"); 44 btns[0].onclick = () => { 45 img.src = urls[0]; 46 }; 47 }; 48 </script> 49 </html>
父容器相对定位,子元素绝对定位,高度为100%时会自动适应父容器的高度。所以当右侧的高度变化撑起父容器不同的高度时,左侧也会保持一致。
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Equal Height Position</title> 7 <style> 8 .container { 9 position: relative; 10 border: 1px solid #999; 11 } 12 .left { 13 position: absolute; 14 box-sizing: border-box; 15 width: 200px; 16 height: 100%; 17 padding-top: 10px; 18 background-color: #76e2e4; 19 text-align: center; 20 } 21 img { 22 margin-left: 200px; 23 vertical-align: bottom; 24 max-width: 500px; 25 max-height: 600px; 26 } 27 </style> 28 </head> 29 <body> 30 <h4>Equal Height Position</h4> 31 <div class="container"> 32 <div class="left"> 33 <button id="mzzi1">换个妹子</button> 34 </div> 35 <img 36 src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F100H0113K8%2F20100G13K8-7-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709622&t=df224c9393368e871e7bcc7a454e58d9" 37 alt="" 38 /> 39 </div> 40 </body> 41 <script> 42 let urls = [ 43 "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.win4000.com%2Fmobile%2F2020-05-13%2F5ebba71243a85.jpg&refer=http%3A%2F%2Fpic1.win4000.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709918&t=41e048a206e8ac4cc241790f520454cb", 44 ]; 45 window.onload = () => { 46 let img = document.querySelector(".container img"); 47 let btns = document.querySelectorAll(".left button"); 48 btns[0].onclick = () => { 49 img.src = urls[0]; 50 }; 51 }; 52 </script> 53 </html>
1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 6 <title>Equal Height Table</title> 7 <style> 8 .container { 9 display: table; 10 border: 1px solid #999; 11 } 12 .left { 13 display: table-cell; 14 width: 200px; 15 padding-top: 10px; 16 background-color: #76e2e4; 17 text-align: center; 18 } 19 img { 20 display: table-cell; 21 max-width: 500px; 22 max-height: 600px; 23 } 24 </style> 25 </head> 26 <body> 27 <h4>Equal Height Table</h4> 28 <div class="container"> 29 <div class="left"> 30 <button id="mzzi1">换个妹子</button> 31 </div> 32 <img 33 src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2F1114%2F100H0113K8%2F20100G13K8-7-1200.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709622&t=df224c9393368e871e7bcc7a454e58d9" 34 alt="" 35 /> 36 </div> 37 </body> 38 <script> 39 let urls = [ 40 "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fpic1.win4000.com%2Fmobile%2F2020-05-13%2F5ebba71243a85.jpg&refer=http%3A%2F%2Fpic1.win4000.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1643709918&t=41e048a206e8ac4cc241790f520454cb", 41 ]; 42 window.onload = () => { 43 let img = document.querySelector(".container img"); 44 let btns = document.querySelectorAll(".left button"); 45 btns[0].onclick = () => { 46 img.src = urls[0]; 47 }; 48 }; 49 </script> 50 </html>
效果图:
说明:
妹子图片来自网络,侵必删~
以上是脚本宝典为你收集整理的介绍几种CSS实现两列等高的方法全部内容,希望文章能够帮你解决介绍几种CSS实现两列等高的方法所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。