2012-08-29 37 views
4

看起來HTML5元素figure增加了一些margin/padding,如果裏面有圖像的話。如果在圖形周圍添加邊框,可以在元素內看到一個小填充。HTML5 <figure> margin/padding

<figure> 
    <img src="image" alt="" /> 
</figure> 

我寫* { margin: 0; padding: 0 }

任何人都知道如何處理它重置所有的邊距和補用CSS?請看看這個小提琴:http://jsfiddle.net/74Q98/

+0

它不侷限於'figure':http://jsfiddle.net/74Q98/2/ –

回答

13

這不是一個<figure>錯誤 - 它是<img>元素的正常行爲

要修復它試試這個 - DEMO

img { 
    border: 1px solid green; 
    display: block; 
    vertical-align: top; 
} 

UPDATE

默認情況下,任何圖像呈現爲內嵌(像文本),所以下面的一點額外空間是所有文本的空間l有(即對於q,p等)

以上答案結合瞭解決問題的兩種方法。因此,基本上可以只使用其中的一個:

img { display: block; } 

img { vertical-align: top; } 
+1

我很好奇,因爲'vertical-align:bottom;'或'middle'也會產生相同的結果(和'display:block'似乎沒有必要):這種行爲的原因是什麼?爲什麼'vertical-align:baseline;'產生額外的空間? –

+2

啊哈我看到了,它與文本的實際字母完全對齊:http://jsfiddle.net/74Q98/3/ –

+1

非常感謝。 'display:block'方法工作正常。 – Jan