當你想添加HTML元素之間的空白(使用CSS),你附加到哪個元素?你把你的CSS頁邊距放在哪裏?
我經常在我沿着這些線路情況:
<body>
<h1>This is the heading</h1>
<p>This is a paragraph</p>
<h1>Here's another heading</h1>
<div>This is a footer</div>
</body>
現在,說我想1EM的這些元素之間的空間,但沒有上面的第一個H1或最後一個div下面。我會附加哪些元素?
顯然,有此之間沒有真正的技術區別:
h1, p { margin-bottom: 1em; }
...這...
div { margin-top: 1em; }
p { margin-top: 1em; margin-bottom: 1em }
我很感興趣的是次要因素:
- 一致性
- 適用於所有情況
- 易於/簡單
- 製作易於改變
例如:在這個特殊的情況下,我會說,第一個解決方案比第二個好,因爲它更簡單;你只在一個屬性定義中附加一個margin-bottom到兩個元素。不過,我正在尋找更通用的解決方案。每次我做CSS工作時,我都會覺得應該有一個好的經驗法則......但我不確定它是什麼。有沒有人有一個很好的論點?
如果你不介意迴避IE6,你總是可以回頭看看CSS2:first-child和last-child僞選擇器來做你的出價! – 2009-12-04 18:44:53