質問
IE7で左にフロートする<td>
sのセットが必要です。ウィンドウが小さすぎる場合、次の行に分割する必要があります。
CSS
table {
width: 100%;
}
td {
border: 1px solid red;
}
tr.f td {
width: 500px;
float: left;
}
HTML:
<table>
<tr class="f">
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
これはIE8およびFirefoxで機能しますが、IE7では機能しません。私は何を間違えていますか?
ページレンダリングモードは<!> quot; IE7(Quirks)<!> quot;または<!> quot; IE7(標準)<!> quot;。私はIE8を試していますが、IE7レンダリングモードがそれが言っていることを信頼しています。 <!> quot; IE8互換ビュー<!> quot;同様に失敗しているのは、<!> quot; IE8 Standards <!> quotのみです。正しくなります。
解決
これはあなたが望む方法で可能だとは思わない。
フロートをtd要素に適用すると(FF / IE8 [で)、CSS 2.1仕様に従って匿名テーブルオブジェクトになります。基本的に、これらはもはやテーブルセルではなく、これらの匿名オブジェクトには浮動可能な表示タイプがあります。
IE7は仕様のこの部分に従いません。実際、セルの表示タイプはまったく変更できず、表示タイプがtable-cellのオブジェクトはフローティングできません。
(ul / liの代わりに)絶対にテーブルを使用する必要がある場合、代わりにこのようなことをすることができますか?
<style type="text/css" media="screen">`
table {
width: 100%;
}
.f {
border: 1px solid red;
float: left;
height: 10px;
width: 500px;
}
</style>
<table summary="yes">
<tr><td>
<span class="f">1</span>
<span class="f">2</span>
<span class="f">3</span>
</td></tr>
</table>
他のヒント
最善の推測:IE7以下ではより厳密なテーブルモデルがあり、テーブル要素のフローを変更することはできません。
所属していません StackOverflow