2010-11-24 8 views
4
<div id="simg1" style="display: inline"> 
<img src="images/image.jpg"> 
</div> 
<div id="sbdy"><a href="www.google.com">some text</a></div> 

CSS Style: 

#simg1 { 
background-color: #fff; 
    float: left; 
    width: 85px; 
    height: 80px; 
    border-width:5px; 

    border-right: solid 2px #fdd61e; 
    border-left-top: solid 25px #fdd61e; 
    border-left: solid 3px #fdd61e; 
    border-top: solid 3px #fdd61e; 
    border-bottom: solid 3px #fdd61e; 
    border-radius: 15px 0px 0px 15px; 
    overflow: hidden; 
} 
#sbdy { 
background-color: #fff; 
    position: relative; 
    color: #000; 
    float: left; 
    width: 160px; 
    height: 75px; 
    padding: 5px 6px 0px 2px; 
    border-right: solid 3px #fdd61e;  
    border-top: solid 3px #fdd61e; 
    border-bottom: solid 3px #fdd61e; 
    border-top-right-radius: 15px 15px; 
    border-bottom-right-radius: 15px 15px; 
} 

このコードはすべてのブラウザで正常に動作しますが、IEではテキストdivが画像の下に表示されます。私はもっ​​と幅でテストしているので、幅に問題はありません。私はすべてを試しましたが、このバグを修正する方法を理解することはできません。IEでのfloat fix

+0

どのバージョンのIEですか?私はIE 7を使用していて、正しいと思われます... – Schenz

+2

また、正しい 'DOCTYPE'とIE6でテストしていますか?そうでない場合は、ページの先頭に '<!DOCTYPE html>'を追加し、 'float:left | right'を使用しているルールに' display:inline'を追加してください。 –

+0

Krof ... DOCTYPEの提案に感謝します。私は2日間すべてを使いこなしましたが、doctypeのことはチェックしませんでした。古いバージョンでした。あなたはちょうど私の日を作った!もう一度ありがとう:)あなたが答えと同じものを投稿できるなら、私はそれを選択するよりも喜んでいます。 –

答えて

4

はディスプレイで中和していますダブルフロートマージンのバグ あります。 - Krof Drakula

これは私の質問にKrof Drakulaが与えた正解です。私の質問に対する答えを選択しなければならなかった。

0

私はjqueryを調べることをお勧めします。通常、これにはプラグインがあります。

あなたのIEのバージョンによっては、それぞれのバージョンで動作が異なると思います。私はその位置で遊んでみる:相対;。私は浮動小数点のdivと位置を与えるとIE7の同じ問題がありました:絶対;トリックをしました。インライン と標準DOCTYPE:

+1

'display:inline'とスタンダード' DOCTYPE'で中和されたダブルフロートマージンバグがあります。 –