CSS - justify-items 屬性

Hello, 有志於網頁開發的朋友們!今天,我們將要深入CSS的奇妙世界,並探討一個能讓你的佈局看起來像是由資深專業人士精心打造屬性。我說的是 justify-items 屬性。相信我,在這個教學結束時,你將能像最高法院法官一樣對齊項目!

CSS - Justify Items

justify-items 是什麼?

在我們深入細節之前,讓我們先了解 justify-items 是做什麼的。想像一下你有一個填滿了可愛小項目的網格容器。justify-items 屬性就像一根魔杖,讓你可以控制這些項目在它們網格區域內的行內(通常是水平的)軸上如何對齊。

語法

justify-items 的基本語法非常直觀:

.container {
justify-items: value;
}

其中 value 可以是許多我們即將探討的選項之一。但首先,讓我們建立一個簡單的網格來玩:

<div class="grid-container">
<div class="item">1</div>
<div class="item">2</div>
<div class="item">3</div>
<div class="item">4</div>
</div>
.grid-container {
display: grid;
grid-template-columns: repeat(2, 100px);
grid-template-rows: repeat(2, 100px);
gap: 10px;
background-color: #f0f0f0;
padding: 10px;
}

.item {
background-color: #3498db;
color: white;
font-size: 24px;
display: flex;
justify-content: center;
align-items: center;
}

這樣就創造了一個 2x2 的網格,其中有四個項目。現在,讓我們來探討 justify-items 可以使用哪些不同的值!

可能的值

這裡是一個包含所有可能的 justify-items 值的表格:

描述
normal 預設值,通常行為像 stretch
stretch 拉伸項目以填滿網格區域
start 對齊到網格區域的開始
end 對齊到網格區域的結尾
center 在網格區域中居中對齊
flex-start 對齊到容器的開始(對於flex容器)
flex-end 對齊到容器的結尾(對於flex容器)
self-start 對齊到它們自己的開始側
self-end 對齊到它們自己的結尾側
left 對齊到左側
right 對齊到右側
baseline 沿著基線對齊
last baseline 沿著最後的基線對齊
safe center 安全地居中對齊(防止數據丟失)
legacy right 右對齊(傳統支援)

現在,讓我們用範例來拆解這些值!

CSS justify-items - normal 值

.grid-container {
justify-items: normal;
}

normal 值是預設值。在大多數情況下,它的行為像 stretch。就像告訴你的網格項目:"只需做你自己!"

CSS justify-items - stretch 值

.grid-container {
justify-items: stretch;
}

使用 stretch,你的項目會伸展以填滿它們的網格區域。就像告訴你的項目去深深地呼吸並擴張!

CSS justify-items - start 值

.grid-container {
justify-items: start;
}

start 值將你的項目對齊到它們網格區域的開始。把它想像成在賽跑起跑線上排好你的項目。

CSS justify-items - end 值

.grid-container {
justify-items: end;
}

相反,end 將你的項目推到它們網格區域的結尾。就像你的項目試圖觸碰終點線!

CSS justify-items - center 值

.grid-container {
justify-items: center;
}

center 做了你期望的事——在它們的網格區域中居中對齊你的項目。這對創造平衡、禪宗式的佈局非常完美。

CSS justify-items - flex-start 和 flex-end 值

.grid-container {
justify-items: flex-start;
}
.grid-container {
justify-items: flex-end;
}

這些值與 startend 相似,但它們專門為 flex 容器設計。它們就像是 startend 的酷炫表親,只有在 flex 派對上才出現。

CSS justify-items - self-start 和 self-end 值

.grid-container {
justify-items: self-start;
}
.grid-container {
justify-items: self-end;
}

這些值將項目對齊到它們自己的開始或結尾側,這在某些書寫模式下可能與容器的開始或結尾不同。就像讓每個項目自己決定他想睡在哪一邊的床上!

CSS justify-items - left 和 right 值

.grid-container {
justify-items: left;
}
.grid-container {
justify-items: right;
}

這些值正如它們所說的那樣——將項目對齊到左側或右側。簡單直接,就像早晨一杯好咖啡。

CSS justify-items - baseline 和 last baseline 值

.grid-container {
justify-items: baseline;
}
.grid-container {
justify-items: last baseline;
}

這些值將項目沿著它們的基線或最後的基線對齊。當你有不同大小的文字並希望它們對齊時,這特別有用。

CSS justify-items - safe center 值

.grid-container {
justify-items: safe center;
}

這個值將項目居中,但確保不會發生數據丟失。就像是為你的居中項目提供了一個安全網!

CSS justify-items - legacy right 值

.grid-container {
justify-items: legacy right;
}

這個值是為了向後兼容。就像保留一台舊的翻蓋手機——你可能不會使用它,但如果你需要它,它就在那裡!

這就是你們的,各位!你剛剛對 justify-items 屬性進行了一次旋風式的旅行。記住,精通CSS的關鍵在於練習。所以,去嘗試這些值,創造一些美麗對齊的佈局。在你還不知道的時候,你將會在睡夢中對齊項目!

快樂編程,願你的網格總是完美對齊!??‍??‍?

Credits: Image by storyset