我有4個文本字段,我試圖在它們之間創建10px的空間。我得到它的工作,但第一個項目也移動了10px,我不希望它。我想到最後3個文本字段的類,這將工作,但我仍然在尋找一個更好的主意。有什麼建議麼?元素之間的空間。如何避免間隔第一個項目?
HTML:
<span>text</span>
<span>text</span>
<span>text</span>
<span>text</span>
CSS:
span {
margin:0 10px;
}
我有4個文本字段,我試圖在它們之間創建10px的空間。我得到它的工作,但第一個項目也移動了10px,我不希望它。我想到最後3個文本字段的類,這將工作,但我仍然在尋找一個更好的主意。有什麼建議麼?元素之間的空間。如何避免間隔第一個項目?
HTML:
<span>text</span>
<span>text</span>
<span>text</span>
<span>text</span>
CSS:
span {
margin:0 10px;
}
使用:first-child
僞選擇:
span:first-child {
margin: 0;
}
:first-child
選擇s(在這種情況下)第一個<span>
即的第一個孩子它的父母(<body>
)在我們的情況下,並將樣式應用於該元素只。 :last-child
同樣適用,它將造型應用於父母的最後一個子女。
此外,使用:last-child
選擇應該平分一切,請記住是對稱的,你必須申請保證金左,右元素以及,一個小例子:
span {
margin: 0 10px;
}
span:first-child {
margin: 0 10px 0 0; // right 10px
}
span:last-child {
margin: 0 0 0 10px; // left 10px
}
<span>text</span>
<span>text</span>
<span>text</span>
<span>text</span>
更改CSS:
span:first-child {
margin: 0;
}
span {
margin:0 10px;
}
的:first-child
僞選擇器將爲第一個span
元素提供不同的邊距。
更好的解決方案,以避免margin
的第一個元素是我們CSS的:not
選擇,
的:沒有(選擇)選擇每一個元素是不是 指定元素/選擇器相匹配。
離開第一跨度標籤,其他三個應該有margin-right
和10px
margin-left
。我們可以用:not
選擇這樣做:
span:not(:first-child) {
margin:0 10px;
}
<span>text</span>
<span>text</span>
<span>text</span>
<span>text</span>
另一種簡單的方法來排除第一個:):
span + span {
margin:0 10px;
}
<span>text</span>
<span>text</span>
<span>text</span>
<span>text</span>
添加類第一和最後一個項目,並使用這些類 –