2012-04-22 16 views
5

CSS/HTMLの問題です。画像はdivに埋め込まれません

これは狂っています - 私はばかだとしか思えません。私は自分のイメージがそれが入っているdivにいっぱいにすることはできません。イメージの下に5pxの "パディング"が常にあります。ここで

はhtmlです:

<!doctype html> 

<head><link rel="stylesheet" href="style.css" type="text/css" /></head> 

<body> 
<div class="row"> 
<img src="pic2.jpg" /> 
</div> 
</body> 

そして、ここでは、CSSです:

body, .row, img { 
padding: 0; 
margin: 0; 
border: none; 
} 

.row { 
width: 80%; 
background-color: orange; 
} 

img{ 
width: 50%; 
} 

は、これが結果です:

http://imgur.com/yELMe

あなたが見ることができるように、(愚かな)青と赤の画像は、オレンジのdivを埋めることはありません。イメージの下にオレンジ色の一貫した5ピクセルが表示されます。これはdivや画像の%幅の変更やウィンドウのサイズ変更の影響を受けません。

私はこれを "margin:-5px;"と修正できますが、なぜそれが起こっているのかを知りたいと思っています(特に、状況が異なる場合は5pxより多いか少ない)。

ご協力ありがとうございます(これは私のところではばかげたエラーです)。

+0

ここでは実際の例ですhttp://jsfiddle.net/aDtUm/ – jacktheripper

答えて

17

のようなあなたのイメージに(デフォルトbaseline以外)vertical-align値を追加します、topmiddleを...

vertical-align: top; 
+0

驚くべきことだこと - それはなぜ機能したのですか? – jkdune

+1

インラインイメージのためにページの自然な浮動小数点数(浮動小数点数)の '違反'があり、フォントサイズ、行の高さなどのタイポグラフィに提供される要素スペースを尊重し始めます。あなたは簡単にそれをテストすることができます(非作業デモで):body {font-size:50px;}を追加すると、マージンスペースがどのように増加するかがわかります。イメージに対して垂直方向の配置を設定することにより、ブラウザのデフォルトとは異なる配置を提供するようにしています。 –

+0

そうです、私はそれを手に入れます。私は決してそれを働かせることはなかった。あなたの助けをもう一度ありがとう! – jkdune

関連する問題