У меня есть ситуация, когда мне нужно указать, что ширина ребенка должна быть 100% от ширины INNER родителя, а не внешней ширины, что означает, что родительский прокручивает по горизонтали.CSS child 100% INNER width
Ситуация выглядит примерно так:
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) перестает сокращаться, и это заставляет родителя переполняться и, таким образом, показывает scrollbar, второй ребенок по-прежнему сохраняет 100% ширины OUTER родителя, я бы хотел, чтобы он составлял 100% от ширины INNER родителя, так что он имеет ту же ширину, что и первый ребенок (таблица).
Я хотел бы сохранить ответ как чистый CSS, насколько это возможно, JavaScript будет в порядке, если он не полагается на события изменения размера окна, потому что #parent может быть сокращен по другим причинам (растет горизонтальный брат) ,
Есть ли причина, почему вы не можете использовать 'дисплей: table',' дисплей: настольный row' и 'дисплей: настольный cell' вместо разделяющей' child1' в к таблице и 'child2' для входа в div? – WizardCoder