2012-03-27 5 views
1

文字列があります(アルファベットと珍しい改行のみです。空白またはその他の区切り文字はです)。セルの最大セル幅(ウィンドウサイズによって異なります)は、この例では50%に設定されています。私はテーブルのセル幅がヒットしたときにブラウザが文字列をほとんどラップしないようにするだけでなく、文字列の改行文字を歓迎します。表のセルの内容は、一定の最小幅(例では200px)でなければなりません。これにより、ウィンドウのサイズがさらに大きくなると垂直スクロールが表示されます。"pre"には最小幅の文字が入力され、サイズ変更時は自動折り返し

enter image description here

私はtdためmax-widthplayground)を使用してFF10で必要な動作を実現しているが、私は同じことを行うことはできません。窓はちょうど私がこのスクリーンショットに表示が小さすぎるようになったこの瞬間IE:それはmax-widthを無視します。 max-widthpreに設定されていると、それ以上の動作は非常に奇妙です。レンダラーは内容の実際の幅を無視して、preがラップされていないと考えています(playground - FFと似ています。最悪の場合、コンテンツを200pxに厳密に固定しても問題ありません(IEの場合はpreに適用し、tdの場合は無効です)。この修正がIEにのみ影響するように、私は次のCSSを試しました:

pre { 
    white-space: pre-wrap; 
    word-wrap: break-word; 
    width: expression("200px"); 
} 

td.wrap { 
    color: red; 
    max-width: 200px; 
} 

残念ながら、IE8ではうまくいきません。

ターゲットブラウザ:FF9(以上)、IE7、IE8、Chrome(最新)。 IEが見つかりませ明確な解決策:私はHow do I wrap text in a pre tag?How can I word wrap this list item?Not able to do max widthMax-Width not working on Table for IE7や他の多くのを確認していますこの問題が重複している場合

申し訳ありません。

答えて

1

私は別の面から問題にアプローチしようとしました:) min-width: 400pxでdivにテーブルをラップすると、IE bahaveになります。ここにはフィドルがあります:http://jsfiddle.net/6Agbw/3/。これがあなたが必要としていることを願っています。

+0

ありがとうございます、それは動作するようです。 P.P.以前の回答を安全に削除することができます。 –

+0

ああ、テーブル 'table-layout:fixed'を使用しました。このケースではテーブルに2列以上のテーブルがある場合に問題が発生するため、これを私のプレイグラウンドから削除する必要があります。[here](http://jsfiddle.net/6Agbw/7/)を参照してください。どのようにこれを動作させるためのアイデア? –

+0

最も近いのはこれです:http://jsfiddle.net/6Agbw/11/。表のに注意してください。また、 'table-layout:fixed'を使わず、短い' td'でテキストを破ることもできませんでした。おそらく、これらの 'td'のテキストを回転させることがあなたを助けることができます。 –

関連する問題