Что ж, вы можете сделать, как @andreas предложено выше: ~~
- Добавить
display: inline-block
к .innerDiv
- Удалить
width: 100%
из .innerDiv
Или ... Если вы хотите избежать этого эффекта переполнения, вы можете удалить white-space: nowrap
из вашего .innerDiv
класса!
Один вопрос; Когда у вас 2 .innerDiv
, вы хотите, чтобы они складывались друг под другом?Если да, хотите ли вы, чтобы у них обоих был растянутый фон до конца .outerDiv
?
РЕДАКТИРОВАТЬ: Ваша проблема была недостаточно ясна для меня вначало, но теперь я понял, чего вам действительно нужно достичь, и вот 2 решения:
# 1 Решение: table-row
.outerDiv {
max-width:500px;
border:2px solid purple;
overflow:auto;
height: 100px;
}
.innerDiv {
display: table-row; /* <-- Add this */
border:1px dashed red;
background-color: lightgreen;
white-space:nowrap;
}
<div class="outerDiv">
<div class="innerDiv">
This is inner div This is inner div This is inner div This is inner div This is inner div This is inner div This is inner div
</div>
<div class="innerDiv">
This is inner div This is inner div This is inner div
</div>
</div>
# 2 Решение: Relative & Absolute
позиция!
ПРИМЕЧАНИЕ: Может использоваться без position: relative
и position: absolute
, просто используйте display: inline-block
в .wrapperDiv
, и оно будет таким же!
.outerDiv {
position: relative; /* <-- Add this */
max-width:500px;
border:2px solid purple;
overflow:auto;
height: 100px;
}
.wrapperDiv {
position: absolute; /* <-- Add this */
}
.innerDiv {
border:1px dashed red;
background-color: lightgreen;
white-space:nowrap;
}
<div class="outerDiv">
<div class="wrapperDiv"> <!-- Add This -->
<div class="innerDiv">
This is inner div This is inner div This is inner div This is inner div This is inner div This is inner div This is inner div
</div>
<div class="innerDiv">
This is inner div This is inner div This is inner div
</div>
</div>
</div>
Надеюсь, вы найдете это полезным!