在網頁設計中,經常需要將一個div標簽等分成若干等份,以便布局排版。在CSS3中,我們可以使用flex布局或網格布局實現這一需求,同時還可以結合偽類選擇器實現更多的效果。
1. 使用flex布局
.container { display: flex; } .item { flex: 1; }
這段代碼中,我們將容器(.container)設置為flex布局,并將所有子元素(.item)設置為等分空間,每個子元素分配相等的寬度。
2. 使用網格布局
.container { display: grid; grid-template-columns: repeat(3, 1fr); } .item { /* 可以不設置 */ }
這段代碼中,我們將容器(.container)設置為網格布局,并使用grid-template-columns屬性將容器分為3列,每列分配相等的空間。由于網格布局默認將空間等分,因此我們不需要再給子元素設置任何屬性。
3. 使用偽類選擇器
.container { display: flex; } .item { height: 100px; position: relative; } .item::before { content: ""; display: block; position: absolute; left: 0; bottom: 0; width: 100%; height: 1px; background-color: #ccc; } .item:first-child::before { display: none; } .item:last-child { flex: 1; text-align: right; }
這段代碼中,我們首先給每個子元素設置高度,并使用position屬性將偽類元素(::before)絕對定位到子元素底部。然后,我們給偽類元素設置寬度和背景顏色,用來表示分割線。接著,我們使用:first-child偽類選擇器將第一個子元素的分割線隱藏起來,以達到效果。最后,我們使用:last-child偽類選擇器將最后一個子元素拉伸,以填充剩余的空間,并將文本右對齊。