Хотя это может расстраивать, но это не ошибка, это действительно особенность. Если имеется полоса прокрутки / прокручиваемая область, и эта область активирована, а стрелка или другое устройство ввода запускает, область будет прокручиваться.
Чтобы противодействовать этому, вы можете попытаться бороться с каждым возможным пользовательским вводом (прокрутка сенсорной панели, клавиши со стрелками, выделение и перетаскивание) с помощью JavaScript, но лучший ответ для вас - переосмыслить, как вы используете CSS здесь. Попробуйте использовать width:auto
вместо width:100%
, например.
Для демонстрации (обновление):
CSS:
#parent { width:50px; height:20px;overflow:hidden; }
#overflow { width:50px;height:50px;overflow:auto; }
HTML:
<div id="parent">
<div id="overflow">blahaahhahahahahahahahahahahaaaaaaaaaaahahahahahaaaaaaaaaaaaaaahhhhhhhhhhhhhhhhhhahhaahahaha</div>
</div>
Поднимите высоту на #parent
до 50 пикселей, и вы увидите, что полоса прокрутки по-прежнему - так что она просто скрыта; содержание не скрыто безвозвратно. Установите overflow:hidden
на #overflow
, без полос прокрутки.