下面的代碼HTML:在嚴格模式下非常奇怪的間距,原因是什麼?
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<div style="width:200px;height:200px;padding:0px;margin:0px;">
<div style="background-color:red;position:relative;display:block;text-decoration:none;padding:0px;margin:0px;">
<img style="padding:0px;margin:0px;width:200px;height:200px;" src="http://www.google.com/logos/2012/serbia12-hp.jpg">
</div>
</div>
</body>
的底部有一個很奇怪的紅色邊框,我是不是能夠找出爲什麼這個happnes(都與Chrome和IE)。
如果我使用無效文檔類型一樣(withouth的感嘆號Markt的)
<DOCTYPE html>
它的工作原理?
這是什麼原因?爲什麼圖像與外框的寬度和高度不完全相同(200像素乘200像素)。我嘗試了一切,但不知道爲什麼發生這種情況?這是一個hmtl錯誤還是我做錯了什麼?
側注:這是一個非常複雜的HTML結構。上面的例子沒有意義,但它說明了這個問題。所以如果你能解釋爲什麼會發生這種情況會很好。
非常感謝!
感謝您的幫助。如果您可以陳述我可以搜索的某些「條款」或指向此主題的鏈接,這將非常友善和優秀。我還不明白爲什麼一個高度爲200px的內聯元素仍然會考慮行間距......謝謝 – user1145216 2012-02-23 05:25:56
下面是一個真實世界的例子:http://www.campaignmonitor.com/blog/post/3132/how-to- stop-gmail-from-adding-a-margin-to-your-images/ – Interrobang 2012-02-23 05:29:13
@ user1145216,發生這種情況的原因是內聯元素必須允許下面的空格用於像j,q,p,y等小寫字母。適合在同一條線上。將它們更改爲塊級元素可消除對該額外空間的需求。 – Sparky 2012-02-23 06:01:50