Установка правильной ориентации для полос прокрутки на страницах справа налево - PullRequest
7 голосов
/ 11 августа 2009

Сейчас я работаю с макетами справа налево (думаю, на иврите или арабском). В 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 ]

10 голосов
/ 13 августа 2009

Я не думаю, что это хорошая идея, я сам араб, и я нахожу это действительно раздражающим, когда полосы прокрутки находятся слева.

3 голосов
/ 11 октября 2012

Просто сделайте это с тегом body:

<body dir="rtl">

, и он будет работать нормально только для IE.

Firefox, Safari и Chrome - это еще одна история, вам нужен Javascript, чтобы он заработал.

1 голос
/ 16 мая 2010

Не существует стандартного способа перевернуть боковые полосы прокрутки страницы, потому что это элемент пользовательского интерфейса, в то время как вы можете управлять только содержимым страницы (HTML).

0 голосов
/ 12 августа 2009

Вы можете добавить атрибут dir к тегу body следующим образом:

<body dir="rtl">

Загвоздка в том, что поведение в разных браузерах нестабильно. Самый новый браузер будет переворачивать содержимое справа налево, как вы ожидаете, но только IE и Opera также перемещают полосу прокрутки влево.

...