這個問題隨時會出現在我的腦海中,但由於解決方法非常簡單,我從來沒有費心花時間進一步調查。今天我想我會看到Stack Overflow在這件事上有什麼話要說。使用CSS速記屬性時,保持一定的值不變
比方說,我有這樣的:
/* Selector setting up shared properties for some elements */
#header, #main, #footer {
margin: 0 5%;
}
現在假設我想重寫margin-top
和#header
margin-bottom
。關閉我的頭頂,我通常會做margin: 1em 0;
(忘掉前面的規則),但當然這也將覆蓋margin-right
和margin-left
。我想要的是一種方法來指定一個速記屬性的某個值不應該改變,這是可能的嗎?這些是我想到的選項:
#header {
margin: 1em 0; /* Will remove left/right margin */
margin: 1em auto; /* Will revert to default left/right margin */
margin: 1em inherit; /* Will inherit left/right margin from parent */
margin: 1em no-change; /* This is what I'm after: shorthand property to set only 2 of 4 values */
/* And this is how I end up solving it */
margin-top: 1em;
margin-bottom: 1em;
}
'保證金:1EM inherit'實際上是無效的CSS。您不能在速記屬性中繼承部分值。 – BoltClock 2012-02-21 15:13:21
謝謝!這很有道理,真的。即使堆棧溢出的CSS語法熒光筆似乎知道這一點:)我想你的最後一句話也回答我的問題。 – Simon 2012-02-21 15:16:52