子の幅が親のINNER幅の100%で、外幅ではなく、親が水平方向にスクロールすることを指定する必要がある状況があります。CSS子100%INNER幅
状況は、次のようになります。
http://codepen.io/anon/pen/ygqPZG?editors=1100
HTMLあなたがテーブルに十分な小さな画面を縮小するにつれて
<div id='parent'>
<table id='child1'>
<colgroup>
<col width='400px'></col>
</colgroup>
<tbody>
<tr>
<td>Child1withareallyreallylongtitle</td>
</tr>
</tbody>
</table>
<div id='child2'>
<p>Child 2</p>
</div>
</div>
CSS
#parent {
margin: 16px;
border: 1px solid black;
box-sizing: border-box;
overflow-x: auto;
}
#child1 {
width: 100%;
border: 1px solid red;
}
#child2 {
width: 100%;
border: 1px solid blue;
}
(CHLD 1)収縮が止まり、親がオーバーフローして強制的に2番目の子は親のOUTER幅の100%を保持していますが、最初の子(テーブル)と同じ幅になるように、親のINNER幅の100%にします。
私はできるだけ純粋な答えを得たいと思っていますが、#parentが他の理由で縮小する可能性があるため、ウィンドウのサイズ変更イベントに依存しない限り、JavaScriptは問題ありません(水平兄弟が大きくなります) 。
あなたは 'ディスプレイを使用できない理由何らかの理由がある:table'、'表示:テーブル-row'と '表示:テーブル-cell'の代わりに、'でchild1'を分離するには、テーブルに 'child2'をdivに入れる? – WizardCoder