2011-06-29 51 views
4

我正在撕掉我的頭髮。我已經設置了一個重置​​樣式表,我希望能夠處理所有事務,並將所有邊距和填充設置爲0(我知道這是冗餘的),但是如果您查看Fiddleresult,我的section標記將不會觸摸我的aside標籤的一面,即使瀏覽器都顯示不存在邊距或填充符。HTML 5 Section/Aside保證金問題

有趣的是,它在IE 7中工作,所有其他瀏覽器失敗慘敗。 =/

回答

5

他們沒有接觸,因爲你已經設置asidesectioninline-block元素:

nav, section, aside { 
    display: inline-block; 
} 

隨着inline-block元素,空格在HTML變得顯著。

一種解決方案是移除asidesection之間的空白:

http://jsfiddle.net/BzCsj/2/

<aside id="sidebar">asd 
</aside><section id="main">test 
</section> 

另一個解決方案是從切換到display: inline-blockfloat: left。爲了簡單起見,我在這裏用內聯CSS做了這件事:http://jsfiddle.net/BzCsj/4/

+1

我要補充的一件事是,他在混合'px'和'em'。堅持一個單位 - 我的首選單位是'em',因爲它有很好的縮放比例 - 但是他必須使用'em'來表示一切 - 邊框,填充,邊距,寬度,文本等等。 –

+0

哇。謝謝。這對我來說是新事物。自從我永遠以來,我一直在線攔截所有內容,之前我已經看到過這種情況。猜猜這回答了我所有的問題。 @Myles,感謝提示,儘管我沒有觸及CSS。它大部分是ASP.NET MVC 3的默認值 – Jonn