I think there is a bug in Chrome with the <label>
element:
<div style="border:1px green solid; overflow:hidden;height:20px;">
<div style="border:1px red solid;">
<div>visible</div>
<div style="position:absolute; border:1px solid;">
<div style="position:relative;">
ffff
<label><input type="checkbox" name="check" /> click label to see hidden content</label>
</div>
</div>
<div>hidden</div>
</div>
</div>
When you click on the checkbox itself, Chrome scrolls content to the position of the input control. Why does Chrome do this while other browsers (IE, Firefox) work correctly?