建立兩列布局,同時保持列背景顏色全尺寸
在兩列布局中,內容被組織成兩列等寬的列。但是,確保每列的背景顏色填充內容的整個高度可能是一個挑戰,尤其是在每列的內容長度不同時。
CSS 網格是建立具有多列的響應式佈局的另一種選擇。較舊的佈局方法,例如浮動和基於表格的佈局,也可以使用,但不推薦,因為它們有侷限性和缺乏靈活性。
演算法
定義一個包裝類,其 display 屬性設定為 flex。這將為兩列建立一個 flex 容器。
定義左列類,其 flex-grow 屬性設定為 1。這將使左列填充容器中的可用空間。另外,設定左列的背景顏色。
定義右列類,其 flex-grow 屬性設定為 1。這將使右列填充容器中的可用空間。另外,設定右列的背景顏色。
將左列內容和右列內容新增到包裝元素中。
最終結果是一個兩列等寬的佈局,左列為紅色 (#e62626),右列為較深的紅色 (#864f4f)。
示例
<!DOCTYPE html> <html lang="en"> <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>Two Column Layout</title> <!------------------------- CSS ----------------------------> <style> /* Define a flex container with the wrapper class */ .wrapper { display: flex; } /* Define the left column with flex-grow set to 1 to fill the available space, and set the background color */ .left-column { flex: 1; background-color: #e62626; } /* Define the right column with flex-grow set to 1 to fill the available space, and set the background color */ .right-column { flex: 1; background-color: #864f4f; } </style> </head> <body> <div class="wrapper"> <div class="left-column"> <!-- content for the left column --> <h1>Left column</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Cum dolorem ab magni rerum. Molestiae facere libero ut magnam, accusamus id voluptas eligendi officiis a harum eaque, autem obcaecati? Distinctio, recusandae.</p> </div> <div class="right-column"> <!-- content for the right column --> <h1>Right column</h1> <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Recusandae necessitatibus beatae ullam reiciendis aliquid dolorum explicabo quod consectetur deleniti, maxime quo laudantium sed vel iure nemo! In molestiae aliquid quasi?</p> </div> </div> </body> </html>
然而,這並不適用於需要精確控制元素放置的複雜佈局或設計。對不支援 CSS3 flexbox 的舊版瀏覽器支援有限。這需要仔細考慮內容層次結構,以確保在較小螢幕上正確排列列。一旦實現,更改佈局可能很困難。
結論
您需要考慮一些約束條件
CSS 約束:要保持每列的背景顏色全尺寸,需要使用 clearfix hack 或使用 flexbox 或網格佈局。
內容約束:每列的內容需要適合列的寬度和高度,否則可能會破壞佈局。
響應式設計約束:您需要確保兩列布局具有響應性,並且在不同的螢幕尺寸上都能正常工作。
輔助功能約束:確保佈局可供殘疾使用者訪問非常重要。
瀏覽器相容性約束。
請記住徹底測試您的佈局,並根據需要進行調整,直到您對結果滿意為止。
廣告