For future posterity, Opera Mobile 12/Classic, the browser you tagged in your question, has very specific criteria that must be followed in order to get overflow: scroll
or overflow: auto
to work:
Element height (or width) alone is not enough to get Opera Mobile 12 to overflow an element and it will expand elements unless absolutely positioned with top and bottom values. This sucks but when absolutely positioned, Opera Mobile 12 does add a scrollbar to overflow elements but there is no support for touch gesture scrolling and the scrollbar controls are flaky.
So, to get Opera Mobile to actually add scrollbars and overflow a div you need to alter Kishu's example a little:
<style>
#parent-of-scroller {
position: relative;
height: [whatever]
}
#scrollable-item {
position: absolute;
top: 0px;
bottom: 0px;
}
</style>
<div class='parent-of-scroller'>
<div class='scrollable-item'>
... your content ...
</div>
</div>
The Opera ≥9.5 CSS hack _:-o-prefocus, body:last-child .your-selector-here
might assist you.
From http://barrow.io/overflow-scrolling