2012-04-21 3 views
0

なぜ私は予想通りに物事を位置付けることができないのか、私はちょっと困惑しています。相対配置された親作品内にテキストを配置するにはどうすればよいですか?

以下の例では、各数字が正方形の別の角にあることを期待しています。しかし、最初の四角形については、 "top:0px"は私が期待していることをしていないように見え、2番目の四角形ではさらに悪くなります。青い四角。唯一の違いは、明示的に第2の画像に絶対位置を与えたことです。私はそれが私が働くことを期待しているトップを使用する場合、2番目のイメージ全体がほぼ底に垂直にオフセットされているので、それは "ボトム"に相対的な位置を与える必要がありました!

ここでは何が起こっていますか?私はこれを数時間にわたって戦ってきており、私は単純な仕事でなければならないと思ったことを達成しようとしています。

<!DOCTYPE html> 
<html> 
<head> 
<body> 
<span style="position:relative; "> 
<img src="http://upload.wikimedia.org/wikipedia/commons/e/e5/Solid_blue.png"> 
<span style="position:absolute; top:0px; left:0px;">1</span> 
<span style="position:absolute; bottom:0px; left:0px;">&nbsp;2</span> 
<span style="position:absolute; top:0px; right:0px;">&nbsp;&nbsp;3</span> 
<span style="position:absolute; bottom:0px; right:0px;">&nbsp;&nbsp;&nbsp;4</span> 
</span> 
<span style="position:relative;"> 
<img style="position:absolute; bottom:0px; left:0px;" src="http://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Solid_green.svg/200px-Solid_green.svg.png"> 
<span style="position:absolute; top:0px; left:0px;">5</span> 
<span style="position:absolute; bottom:0px; left:0px;">&nbsp;6</span> 
<span style="position:absolute; top:0px; right:0px;">&nbsp;&nbsp;7</span> 
<span style="position:absolute; bottom:0px; right:0px;">&nbsp;&nbsp;&nbsp;8</span> 
</span> 
</body> 
</html> 

答えて

2

で、

あなたはトン持っていますOラッパースパン

あなたの全体の意思@Michaelの

<span style="position:relative; float:left; "> 

    <img src="http://upload.wikimedia.org/wikipedia/commons/e/e5/Solid_blue.png"> 
    <span style="position:absolute; top:0px; left:0px;">1</span> 
    <span style="position:absolute; bottom:0px; left:0px;">&nbsp;2</span> 
    <span style="position:absolute; top:0px; right:0px;">&nbsp;&nbsp;3</span> 
    <span style="position:absolute; bottom:0px; right:0px;">&nbsp;&nbsp;&nbsp;4</span> 

</span> 
0

スパンがブロックレベルの要素である必要があるためです。 'display:block;を追加してみてください。あなたの「位置:相対的な」要素に変換します。

+0

わからないなどのフロートを設定し、これを見てみましょう。 http://jsfiddle.net/RHRd9/1/ –

0

スパン要素はインラインで、インライン要素は次元を持たないため、要素が間違って配置されます。

あなたはそれが流れからそれを取るようにも、第二の画像からposition:absoluteを削除する必要があり、かつ含むspanを取得していません。.. display:inline-block修正問題であることを、外側のスパンを設定しますサイズ...

デモhttp://jsfiddle.net/gaby/btUBm/、私は問題を発見した

関連する問題