When vertical scroll appears, also horizontal scroll appears and elements in div are still wider then div container. Screen
.scroll {
overflow-y: auto;
background: #CCC;
display: inline-block;
height: 150px;
}
.element {
background: #CD8115;
}
<div class="scroll">
<div class="list">
<div class="element">111111111111111111111</div>
<div class="element">22</div>
...
</div>
</div>
Set the list's css class with value display: inherit. This will make the child span the entire width.
.list{
display: inherit;
}
.scroll {
overflow-y: auto;
background: #CCC;
display: inline-block;
height: 150px;
}
.list{
display: inherit;
}
.element {
background: #CD8115;
}
<h2>With scroll</h2>
<div class="scroll">
<div class="list">
<div class="element">111111111111111111111</div>
<div class="element">22</div>
<div class="element">333333333</div>
<div class="element">4444</div>
<div class="element">5555555</div>
<div class="element">66</div>
<div class="element">777</div>
<div class="element">8888</div>
<div class="element">99999</div>
<div class="element">0</div>
</div>
</div>
<!-- Absolt same, exept height: auto-->
<h2>Without scroll</h2>
<div class="scroll" style="height: auto;">
<div class="list">
<div class="element">111111111111111111111</div>
<div class="element">22</div>
<div class="element">333333333</div>
<div class="element">4444</div>
<div class="element">5555555</div>
<div class="element">66</div>
<div class="element">777</div>
<div class="element">8888</div>
<div class="element">99999</div>
<div class="element">0</div>
</div>
</div>