1

真ん中の列を100%に設定する必要があります。cssは、列の幅を100%に変更しない限り、以下で適切に機能します。その後、他の列のすべての幅が削除されます。誰もが理由を知っていますか?

.SummaryTable td:first-child
{
    width: 150px;
}
.SummaryTable td:first-child + td
{
    width: 150px; /*100% will remove other col widths*/
}
.SummaryTable td:first-child + td + td
{
    width: 175%;
}

これがフィドルです

4

3 に答える 3

3

テーブルの幅が100%であれば、中央のセルの幅を設定しないで修正する必要があります。

他のセルは修正されますが、幅が指定されていないセルは画面全体に表示されます。

これを試してみてください、私はそれがうまくいくはずだと思います

.SummaryTable td:first-child
{
    width: 150px;
}
.SummaryTable td:first-child + td
{
   /* don't set any width for the middle cell, it would expand */
}
.SummaryTable td:first-child + td + td
{
    width: 150px;
}
于 2013-01-18T18:10:41.733 に答える
0

テーブル全体に特定の幅を指定します。

.SummaryTable {width: 100%}

次に、2番目の列から幅を削除します。これにより、合計幅から1番目と3番目が残っている残りの幅が埋められます。

于 2013-01-18T18:11:14.387 に答える
0

私があなただったら、 css:childを使用しません。古いバージョンの IE では動作しません。(IE8、IE7..)。

そのためにjqueryを使用することをお勧めします。

$('.SummaryTable td:nth-child(2)').css({width: '100%'})

または使用できます:eq

$('.SummaryTable td:eq(1)').css({width: '100%'})

:eqカウンターを使用すると0から始まるため、1が2番目の位置であることに注意してください。

于 2013-01-18T18:30:54.630 に答える