我想製作一個固定尺寸的容器,裏面有一張圖片(尺寸未知)。然後,我想讓圖像適合容器並以其爲中心(水平和垂直)。我想出的是:DOCTYPE對CSS有影響嗎?
<!DOCTYPE html>
<html>
<body>
<div style="width: 500px; height: 375px; display: table-cell;
vertical-align: middle">
<img src="./Slideshow_files/Charles Bridge In Prague.jpg"
style="max-width: 500px; max-height: 375px">
</div>
</body>
</html>
對於一些圖片,它工作正常。然而,this one(正好是500x375的大小)使外部div
的高度比底部的375px(Chrome中爲5px,Opera中爲4px)高出幾個像素。這是爲什麼??
編輯:只是增加了演示here(和另一個display: table-row
和display: table
元素,here)。在這兩種情況下,紅色背景都不應該可見;在Chrome中是& Opera。
第一件事,我看到,雖然這個問題的標題的時候是:IE瀏覽器。有一天晚上我很生氣,因爲IE沒有正確顯示我的網站。後來發現這都是因爲我錯過了'DOCTYPE'。 – Shaz
那麼,我甚至沒有去過IE,但我在Chrome和FF中都遇到了這個問題。 DOCTYPE對CSS解釋有影響是否正常? (順便說一句,我可以完全理解你的沮喪,它也花了我一段時間才能找出它是由於DOCTYPE)。 – akoprowski
是的,這是正常的。更改文檔類型會強制瀏覽器進入不同的渲染模式,這些渲染模式會調整框模型的解釋方式。如果您正在新網站上工作,我強烈建議使用HTML5文檔類型'<!DOCTYPE html>'。 –