2009-05-13 15 views
0

スパンの右上にa(div)要素を配置する際に問題があります。これはIE7でFF3で動作しますが、ない:FF3でIEのの右上に要素を配置します

<html> 
<head> 
<style> 
body 
{ 
    font-size: 24px; 
} 

.tag 
{ 
    padding: 3px; 
    background-color: lightblue; 
    position: relative; 
} 

.x 
{ 
    position: absolute; 
    top: 0px; 
    right: 0px; 
    width: 10px; 
    height: 10px; 
    background-color: orange; 
} 
</style> 
</head> 
<body> 
text <span class="tag">tag<div class="x"></div></span> text 
</body> 
</html> 

、10×オレンジボックスは水色のボックスの右上隅にレンダリングされます。これをIE7で動作させるのに問題があります。ありがとう!

+0

あなたはIE6を意味した見ることができます! – ak3nat0n

+0

左上の位置は、両方のブラウザで動作するように見えます。右側に位置するときにのみ壊れます。 – Emmett

答えて

3

まず、ページの適切なdoctypeを取得して、クォークモードでレンダリングされないようにします。

W3C: Recommended list of DTDs

第二に、コードが有効であることを確認してください。ブロック要素(div)をインライン要素(span)の内側に配置することはできません。

W3C markup validation

+0

xhtml1-strict.dtd DTDを追加すると問題が解決しました。ありがとう。 div内をスパンの内側に置かない限り、インラインスパンの右上にボックスを配置するにはどのような方法が推奨されますか? – Emmett

+0

マークアップでspanタグを使用し、cssのdisplay:ブロックを使用してブロック要素にします。 – Guffa

0

また、あなたが将来的にIE7でpositionningに問題がある場合、私はIE7であなたのコードを試してみましたが、それがうまく機能しているため、このpost

関連する問題