Настройка правильной ориентации полос прокрутки на страницах справа налево
на данный момент я работаю с макетами справа налево (думаю, иврит или арабский). В RTL страница обычно переворачивается по горизонтали. Однако, я не могу понять, как изменить ориентацию полосы прокрутки. Я бы предположил, что полосы прокрутки должны отображаться на левой стороне прокручиваемого элемента, а не на правой стороне, как в макете LTR.
вот пример страницы, где полоса прокрутки все равно появляется справа:
<html dir="rtl">
<body>
<div style="height: 100px; overflow: auto;">
<p>This is some text</p>
<p>This is some text</p>
<p>This is some text</p>
<p>This is some text</p>
<p>This is some text</p>
</body>
</html>
ориентация из полосы прокрутки настройка языкового стандарта браузера, и, таким образом, это не то, что я должен беспокоиться, или есть способ установить ориентацию полосы прокрутки?
(меня не интересует реализация моей собственной полосы прокрутки JavaScript; если окажется, что это просто ограничение браузеров, то я предпочел бы жить с этим, чем добавлять сложность на страницу.)
4 ответов
Я не думаю, что это хорошая идея, чтобы сделать это, я араб, и я нахожу это очень раздражает, когда полосы прокрутки слева.
просто сделайте это с тегом body:
<body dir="rtl">
и он будет работать нормально только для IE.
Firefox, Safari и Chrome-это другая история, вам нужен Javascript, чтобы заставить его работать.
нет стандартного способа перевернуть сторону полос прокрутки страницы, потому что это элемент пользовательского интерфейса, в то время как вы можете управлять только содержимым страницы (HTML).
вы можете добавить атрибут dir в тег body следующим образом:
<body dir="rtl">
уловка заключается в том, что поведение является неустойчивым в разных браузерах. Самый новый браузер будет переворачивать содержимое справа налево, как и следовало ожидать, но только IE и Opera также перемещают полосу прокрутки в левую сторону.