The suggested solution to the problem of visible scrollbars does not work in the below scenario :
CSS:
#hider {
position:absolute;
top: 0;
left:0;
height: 400px;
width: 200px;
background-color: green;
overflow: hidden;
}
#scroller {
position: absolute;
top: 0;
left: 0;
height: 100%;
width: 100%;
padding-right: 20px;
padding-bottom: 20px;
overflow: auto;
}
#content {
float: left;
height: auto;
width: auto;
}
HTML:
<div id="hider">
<div id="scroller">
<div id="content">
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
</div>
</div>
</div>
The problem I'm having is that the width
of <div id="content"></div>
cannot be known beforehand in my case, that's why I need to set it to auto
.
In that case, the scrollbars are still hidden and the scrolling still works but there is one small "glitch" :
If you scroll all the way to the right, you'll notice that the last bit of <div id="content"></div>
is cut off.
More specifically, the width of the part of <div id="content"></div>
that is hidden on the right is equal to the width of the right padding applied to <div id="scroller"></div>
. This is very weird.
Why is that and how do I work around that?
Thanks in advance for any help!