0

編集できない、HTML を追加できない、JS を追加できないテーブルで作業しています。すべてが事前に生成されており、私ができることはそれに CSS を追加することだけです。

テーブルには 2 つの行があり、1 つがサイドバー、2 つ目が中央のコンテンツです。サイドバーの幅を 210px にして左にフロートさせたいと思いました。コンテンツを中央に配置したのと同じです。IE7 以外のすべてのブラウザーですべて正常に動作します。IE7 開発者ツールで調べると、行とその下の TD が常に 100% 幅であり、幅の値を割り当てる方法がないことがわかります。

この問題の回避策はありますか?

サンプルコード。

<table>
<tr id="sidebar"><td>Some data</td></tr>
<tr id="main"><td>Some data 2</td></tr>
</table>

CSS:
#sidebar
{
display:block;
width:210px;
float:left;
}
#main
{
display:block;
width:730px;
float:left;
}

お知らせ下さい

4

2 に答える 2

0

私はie7を持っていませんが、行を設定しています display:table-cell; この例では、テーブルに幅を設定するとクロムで機能します。http://jsfiddle.net/jalbertbowdenii/7Wuku/

于 2012-07-28T16:38:28.150 に答える
-2

それを行う良い方法は、2行目なしだと思います...もちろん、次のようにマークアップを作成できる場合:

<table>
    <tr>
        <td id="sidebar">Sidebar content</td>
        <td class="main_cont">Main content</td>
    </tr>
</table>

このマークアップでは、s を浮動させる必要はありませんtd。幅を指定するだけです。実際の例はこちら: http://jsfiddle.net/skip405/QySz2/1/

しかし、マークアップを変更できない場合 - IE7 にテーブル行をフロートするように教えることは決してないでしょう))

于 2012-07-28T16:09:33.067 に答える