如何用CSS實現2:5:3比例的垂直布局并適配不同分辨率?

如何用CSS實現2:5:3比例的垂直布局并適配不同分辨率?

css實現自適應高度的2:5:3垂直布局

本文介紹如何利用css構建一個三部分垂直布局,各部分高度比例為2:5:3,并能適應不同屏幕分辨率。 目標是讓三個子元素填充父容器的整個高度,同時保持比例不變。

我們將使用CSS彈性盒模型(flexbox)實現這一目標。通過設置父元素的display屬性為flex,并將其flex-direction屬性設置為column,可以輕松地將子元素垂直排列。flex-direction: column指定主軸方向為垂直方向,子元素將從上到下排列

關鍵在于利用flex屬性控制子元素的高度比例。 每個子元素的flex屬性值決定其占據父容器高度的比例。例如,如果三個子元素的flex屬性分別設置為2、5和3,則它們將按照2:5:3的比例分配父容器的高度。

以下代碼展示了如何實現這個布局:

立即學習前端免費學習筆記(深入)”;

.container {   display: flex;   flex-direction: column;   height: 100vh; /* 占據視口高度 */   /* 可選:垂直居中 */   align-items: center;  }  .section1 {   flex: 2; }  .section2 {   flex: 5; }  .section3 {   flex: 3; }

請注意,父元素需要設置height: 100vh;以確保其占據整個視口高度,從而使子元素能夠根據視口高度自適應調整。align-items: center; 使子元素在垂直方向上居中對齊,但這并非必須的。

對應的html結構如下:

<!DOCTYPE html> <html> <head>   <meta charset="UTF-8">   <meta http-equiv="X-UA-Compatible" content="IE=edge">   <meta name="viewport" content="width=device-width, initial-scale=1.0">   <title>Document</title>   <style>     /* CSS 代碼同上 */   </style> </head> <body>   <div class="container">     <div class="section1"></div>     <div class="section2"></div>     <div class="section3"></div>   </div> </body> </html>

通過以上CSS代碼和HTML結構,即可實現一個自適應不同分辨率的布局,三個子元素始終保持2:5:3的高度比例。

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享