我想創建一個佈局,divs之間的垂直間距是像素完美。到目前爲止,我已經排除了幾乎所有的大型網格系統(960.gs,Blueprint),因爲它們在垂直間距方面根本沒有解決方案。有了它們,設置div之間垂直間距的唯一方法是使用body {line-height}屬性並使用它來操作div間距。我不會稱之爲解決方案,因爲它會毀壞您的模板,取決於font-family,並且不會讓您爲不同的div使用不同的間距。html5垂直間距問題與<img>
我發現的唯一一個對垂直間距有適當支持的網格系統是Golden Grid,它不使用body {line-height},但是它有自己的.clear {height:5px}用於垂直間距。
我的問題是,無論我如何努力,我不能讓在HTML5間距工作。我正在談論垂直排列的圖像,它們之間沒有間隙。在XHTML過渡模式下,一切正常,圖像完美對齊,但在HTML5模式下,它們之間存在垂直差距。 Chrome瀏覽器的差距爲2px,Firefox瀏覽器的差距爲2-3px,兩行之間交替。我認爲在HTML5模式下使用每個網格系統都是這種情況。我不知道用簡單的HTML5編寫代碼的最佳方式是什麼,所以我只是嘗試了網格系統。縱向差距也存在於960.gs,Blueprint中。
溶液我發現可能是設置體{行高:0}和在每一個印刷標記來定義行高。但我不明白爲什麼如此簡單的案例需要這樣的黑客攻擊:垂直排列的圖像。爲什麼瀏覽器在HTML5模式下與XHTML Transitional模式不同?
在這裏,我有相同的頁面,沒有什麼改變,只是文檔類型。 XHTML在每個瀏覽器中都是像素完美的,HTML5則有差距,並且不同於瀏覽器。
是什麼力量讓像XHTML過渡的一個例子HTML5工作的最佳方式?
UPDATE:thirtydot回答了這個問題,如果我包括img {display:block; } HTML5版本的行爲與XHTML Transitional完全相同。謝謝你,三十!
但關閉此線程之前,它爲什麼能有人向我解釋:
- 爲什麼所有的瀏覽器行爲不同HTML5模式,都有IMG元素之間不同的垂直間隙時未指定爲顯示:塊。瀏覽一下瀏覽器比較網站上面的html5鏈接,它會不同於瀏覽器到瀏覽器。他們有2至4像素之間的差距。
- 爲什麼XHTML過渡不需要這個破解
- 爲什麼嚴格的XHTML產生垂直間隙過
- 是可以安全使用IMG {顯示:塊; }在一個reset.css表?
你是對的,它解決了我的
問題。我到處尋找HTML5特定的問題,但我錯過了最基本的一個。 –
zsero
2011-02-05 02:39:50