2011-08-17 10 views
1

(テーブルベースのレイアウトを持つ)従来のWebベースのCMSでいくつかの変更を加える必要があります。私はいくつかの複雑なネストしたテーブルの中にあるウェブサイトのコンテンツ領域を変更することしかできませんが、ここでは1つのテーブルとみなすことができます。テーブルベースのレイアウトでdiv align rightの問題

以下の(簡略化された)コードを指定すると、IE6とIE7の右端にABCを表示できますか?

<table> 
    <tr> 
    <td style="width:200px; border:solid 1px black;"> 
     <!-- can only make changes inside here --> 
     <div style="border:solid 1px red; text-align:right;">ABC</div> 
     <input style="width:300px;" value="DEF"> 
    </td> 
    </tr> 
</table> 

<input>タグは、表のセルの予め設定された幅よりも長くてもよいいくつかのコンテンツを表します。 IE8やその他の最新のブラウザでは、divは入力に合わせて展開できます。しかし、IE6とIE7では、ちょうどCSSを使用して200ピクセルを超えて拡大するようです。 float、width、position relativeなどを使ってみました。もう一度200px幅の宣言を削除したり、テーブル構造を変更したりすることはできません。

誰でもこの方法を知っていますか?ありがとうございました。

+1

右に浮動小数点を使用して右の余白を試したことがありますか?私はこれがあなたが必要としているものか、IE6とIE7が何をしているのか分かりません:http://jsfiddle.net/ambiguous/AfW4B/ –

+0

余白のようなものを試すことができます:170px必要な場合)、abcを右に移動するかどうか確認してください。 – RSM

+0

ありがとうございます。私は、コンテンツが動的な幅を持つことができることを明確にしていないと思うので、固定マージンを使用しても機能しません。 – ananda

答えて

0

あなたは、細胞内部構造を変更することができた場合は、float:left持っdivですべてを包む(またはrightを、またはinline-blockである)ことができ、それはこのような内容を拡大するので:あなたの場合はhttp://jsfiddle.net/kizu/AkVqS/

http://jsfiddle.net/AkVqS/2/

+0

式を使用すると、完璧に動作します。ありがとうございます。 – ananda