Установка правильной ориентации полос прокрутки на страницах с направлением справа налево

В данный момент я работаю с раскладками справа налево (например, на иврите или арабском языке). В 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; если окажется, что это просто ограничение браузеров, я лучше буду жить с этим, чем усложнять страницу.)


person Dan Lew    schedule 11.08.2009    source источник
comment
В качестве примечания: я араб, и на большинстве известных мне веб-сайтов полоса прокрутки находится в своем положении по умолчанию (что, как я полагаю, зависит от системы).   -  person Sinan Taifour    schedule 11.08.2009
comment
Возможно, стоит спросить ваших пользователей, как они относятся к переключению полосы прокрутки, считают ли они ее более полезной?   -  person Tom    schedule 31.08.2009
comment
Когда вы находитесь в макете RTL и размещаете меню справа. Быть полосой прокрутки рядом с ним — не очень хорошая идея. И обычно, если у нас есть таблица на странице, она будет размещена слева, и лучше видеть полосу прокрутки рядом с ней. Я думаю, что более разумно разместить полосу прокрутки напротив.   -  person Farshid Saberi    schedule 05.10.2015


Ответы (4)


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

person Waleed Eissa    schedule 13.08.2009
comment
Знаете ли вы какие-либо хорошие ресурсы, которые объясняют, что ожидают люди в локалях RTL? Это более серьезная общая проблема — знать, чего вы хотите в первую очередь. - person Dan Lew; 13.08.2009
comment
Мне жаль, что я не знаю ни одного ресурса, где это обсуждалось бы, а также Google ничего не ответил по этому поводу. Но в любом случае, что я могу сказать, так это то, что это нехорошо делать «для каждого окна». Другими словами, если пользователь использует зеркалирование (имею в виду настройки своей ОС), то ничего делать не нужно, так как пользователь уже выбрал то, что ему нужно. Но если пользователь не использует зеркалирование, это означает, что у него есть полосы прокрутки справа для всех окон, и это очень раздражает, когда у него есть окно с полосами прокрутки слева. Это следует оставить в настройках ОС. - person Waleed Eissa; 13.08.2009
comment
Я не совсем уверен, но я думаю, что большинство носителей арабского языка все равно не используют зеркалирование, это особенно. верно для Windows XP и Vista. Ну, по крайней мере, никто из моих знакомых им не пользуется. - person Waleed Eissa; 13.08.2009
comment
правда, окно браузера принадлежит пользователю, и пользователь устанавливает ОС в определенное направление, html не должен диктовать эту настройку, потому что пользователь, который использует браузер для просмотра сайтов RTL, является тем же пользователем, который просматривает YouTube в LTR , так что было бы абсолютно раздражающе нарушать его опыт ... chrome и firefox делают это правильно, IE все еще меня так сильно раздражает, что я на самом деле обхожу его, помещая свойство RTL в div внутри тела - person Ayyash; 07.05.2014
comment
У меня сайт справа налево, поэтому боковое меню находится справа, а полоса прокрутки справа очень раздражает, потому что она находится в меню, что затрудняет чтение того, что написано в пунктах меню. - person Dov Miller; 13.08.2015
comment
Не лучше ли, чтобы браузер уважал решение разработчика. В некоторых случаях элемент с фиксированной позицией, например боковые панели, находится слева в литре. а в направлении rtl они справа. Не лучше ли, чтобы у разработчика была возможность разместить полосу прокрутки напротив? В этих случаях полоса прокрутки не оказывает никакого влияния на элемент рядом с ней. - person Farshid Saberi; 08.10.2015
comment
@WaleedEissa, что вы думаете о rtlstyling.com/posts/? ? - person Pacerier; 04.05.2021

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

<body dir="rtl">

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

Firefox, Safari и Chrome — это отдельная история, вам понадобится Javascript, чтобы заставить его работать.

person shamsieh76    schedule 10.10.2012

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

person Community    schedule 15.05.2010

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

<body dir="rtl">

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

person Pat    schedule 12.08.2009
comment
В Opera пользователь может сдвинуть полосу прокрутки вправо: opera:config#RTL%20Flips%20UI - person XP1; 12.08.2011