1、 使用grid
.container {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;border: 1px solid red;width: 400px;height: 400px;}@media (max-width: 768px) {.container {grid-template-columns: 1fr;}}@media (min-width: 768px) and (max-width: 992px) {.container {grid-template-columns: repeat(2, 1fr);}}@media (min-width: 992px) and (max-width: 1200px) {.container {grid-template-columns: repeat(3, 1fr);}}@media (min-width: 1200px) and (max-width: 1920px) {.container {grid-template-columns: repeat(4, 1fr);}}@media (min-width: 1920px) {.container {grid-template-columns: repeat(6, 1fr);}}
2、flex布局
.container {display: flex;flex-wrap: wrap;gap: 20px;}.item {background-color: red;color: #fff;font-size: 26px;width: 400px;height: 400px;text-align: center;line-height: 400px;}@media (max-width: 768px) {.item {flex: 1;}}@media (min-width: 768px) and (max-width: 992px) {.item {flex: 1 0 calc(50% - 20px);}}@media (min-width: 992px) and (max-width: 1200px) {.item {flex: 1 0 calc(33.33% - 20px);}}@media (min-width: 1200px) and (max-width: 1920px) {.item {flex: 1 0 calc(25% - 20px);color: yellow !important;}}@media (min-width: 1920px){.item {flex: 1 0 calc(20% - 20px)}}
3、grid和變量的結合
.container {--columns: 4;display: grid;grid-template-columns: repeat(var(--columns), 1fr);gap: 20px;border: 1px solid red;}@media (max-width: 768px) {.container {--columns: 1;}}@media (min-width: 768px) and (max-width: 992px) {.container {--columns: 2;}}@media (min-width: 992px) and (max-width: 1200px) {.container {--columns: 3;}}@media (min-width: 1200px) and (max-width: 1920px) {.container {--columns: 4;}}@media (min-width: 1920px) {.container {--columns: 6;}}
4、多列布局
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Document</title><style>/* 示例一 */.container {column-count: 3; /* 設置為3列 */column-gap: 20px; /* 每列之間的間距 */column-rule: 1px solid #ddd; /*列間距樣式*/}.item {background-color: red;color: #fff;font-size: 26px;width:100%;height: 300px;text-align: center;line-height: 300px;margin: 10px;}@media (max-width: 768px) {.multi-column-article{column-count: 1;column-gap: 30px;}.container{column-count: 1;}}@media (min-width: 768px) and (max-width: 992px) {.multi-column-article{column-count: 2 !important;}.container{column-count: 2;}}@media (min-width: 992px) and (max-width: 1200px) {.multi-column-article{column-count: 3;}.container{column-count: 3;}}@media (min-width: 1200px) and (max-width: 1920px) {.multi-column-article{column-count: 4 !important;}.container{column-count: 4;}}@media (min-width: 1920px) {.multi-column-article{column-count: 6 !important;}.container{column-count: 6;}}body {font-family: "Noto Serif SC", serif;line-height: 1.6;padding: 20px;background-color: #f9f9f9;color: #333;}.multi-column-article {max-width: 100%;margin: 0 auto;padding: 20px;background-color: white;box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);column-count: 3; /* 分成3列 */column-gap: 40px; /* 列間距 */column-rule: 1px solid #ddd; /* 列間分割線 *//* 可選優化屬性 */column-fill: balance; /* 平衡各列內容高度 */break-inside: avoid; /* 避免內容在列間被切斷 */orphans: 3; /* 避免段落最后一行單獨在列底 */widows: 3; /* 避免段落第一行單獨在列頂 */}/* 標題樣式 - 跨所有列 */.multi-column-article h1 {column-span: all; /* 標題跨所有列 */text-align: center;margin-bottom: 30px;color: #2c3e50;}/* 段落樣式 */.multi-column-article p {margin-bottom: 20px;text-align: justify;hyphens: none; /* 自動斷字 */}/* 首段首字下沉效果 */.multi-column-article p:first-of-type::first-letter {font-size: 3em;float: left;line-height: 0.8;margin-right: 8px;color: #e74c3c;}</style></head><body><article class="multi-column-article"><h1>人工智能發展簡史</h1><p>人工智能的發展可以追溯到20世紀50年fddfs時代my name isxiaosan大廈水電費防守打法地方代...</p><p>Only those whoer who who capture the moment are real. My personalfailure has only strengthened my resolve to make things right.</p><div>大是大非反反復復鳳飛飛發發發發發發發發發發發</div><div>dsfddsfffffffffffffffff</div><div>saddddddddddddddddd</div><div>q</div><div>qdd</div><div>qd</div></article><div class="container"><div class="item">1</div><div class="item">2</div><div class="item">3</div><div class="item">4</div><div class="item">5</div><div class="item">6</div><div class="item">7</div><div class="item">8</div><div class="item">9</div><div class="item">91</div><div class="item">92</div></div></body>
</html>