Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
641 views
in Technique[技术] by (71.8m points)

html - HTML5 <figure> margin/padding

It seems that the HTML5 element figure adds some margin/padding if there is an image inside it. If you add a border around the figure you can see a small padding inside the element.

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

I reset all the margins and paddings with CSS by writing * { margin: 0; padding: 0 }

Anyone know how to handle it? Please take a look at this fiddle: http://jsfiddle.net/74Q98/

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

It's not a <figure> bug - it's a normal behavior of the <img> element

To fix it try this - DEMO

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

UPDATE

By default any image rendered as inline (like a text), so the little extra space underneath is the space that all text lines have (i.e. for q, p etc.)

The above answer combines 2 methods of fixing the issue. So basically you can use just one of those:

img { display: block; }

or

img { vertical-align: top; }

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...