0

体の幅を上書きすることは可能です、例えば私はこれを持っています:

<body>
<table id="table1">
<tr><td></td></tr>
</table>
<table id="table2">
<tr><td></td></tr>
</table>
</body>

css:
body{width:970px;}
#table1{width:100%;}
#table2{width:100%;}

最初のテーブルにwidth:auto;を設定したい。ブラウザの全幅で拡張可能ですが、本体の幅では使用できません。

私はそのbody:970pxを持っている必要があるので、それを変更することはできません。また、970pxの本体幅で内部のすべての要素を展開するには、2番目のテーブルを100%持つ必要があります。

これを解決するにはどうすればよいですか?

フィドルの例

4

2 に答える 2

1

これを行う良い方法はありません。HTML 要素は、常に親から属性を継承します。したがってbody、固定幅を指定すると、本質的に子ができることが制限されます。彼らにとって、世界 (つまりwidth: 100%) は現在、body幅が制限されており、「親の幅を使用してください。ボディ要素をスキップしてください」と言う方法はありません。

JavaScript を使用すると、html要素の幅を取得しようとすることができますが、これを に割り当てたとしてもtable1、オーバーフロー ルールによってクリップされる可能性があります。

これを修正するには、固定されたボディ幅を取り除く必要があります。divbody を固定幅のコンテナに置き換えます。これにより、の自然な幅が表示さtable1れるコンテナの外に移動できます。divbody

于 2012-08-09T11:57:26.020 に答える
0

あなたが言うので: 私はその body:970px を持っている必要があるので、それを変更することはできません, 私はあなたが体の CSS を変更することはできないと思います: あなたが行うことができます:

CSS

#table1, #table2 {width:970px;}

また

jQuery

$(document).ready(function(){
$('body').css('width', '970px');
})
于 2012-08-09T11:47:55.267 に答える