Як змінити положення смуги прокрутки за допомогою CSS?


94

Чи є спосіб змінити положення смуги прокрутки зліва направо або знизу вгору за допомогою CSS?


Панель прокрутки вашого браузера?
Awais Umar

спробуйте цей плагін jscrollpane.kelvinluck.com Цей плагін jquery дозволить вам робити власні css на смузі прокрутки.
Awais Umar

Єдине, що я можу придумати, це мати власну смужку прокрутки та стиль, щоб розмістити її так, як вам подобається. Плагін jscrollpane, запропонований @AwaisUmar, я використовував у минулому і є досить хорошим початком.
Zhihao

Швидше за все браузер, але якщо ви знаєте про конкретний браузер, повідомте нам
Mohsen Safari

Це неможливо зробити за допомогою чистого CSS.
Itay

Відповіді:


125

Лише за допомогою CSS:

Правий / Лівий гортання: Робоча скрипка

.Container
{
    height: 200px;
    overflow-x: auto;
}
.Content
{
    height: 300px;
}

.Flipped
{
    direction: rtl;
}
.Content
{
    direction: ltr;
}

Перегортання зверху / знизу: Робоча скрипка

.Container
{
    width: 200px;
    overflow-y: auto;
}
.Content
{
    width: 300px;
}

.Flipped, .Flipped .Content
{
    transform:rotateX(180deg);
    -ms-transform:rotateX(180deg); /* IE 9 */
    -webkit-transform:rotateX(180deg); /* Safari and Chrome */
}

1
Я не бачу верхньої смуги прокрутки у перегорнутому divChrome 29 на скрипці « Перевертання зверху / знизу» .
Mathijs Flietstra

Очевидно, це помилка браузера . У відповіді я оновив свою скрипку. перевірити це зараз.
avrahamcool

У Google Chrome 35.0.1916.153 при подвійному обертанні виникають проблеми з введеннями / вибором. У FF все працює нормально.
лечуп

@lechup ти можеш опублікувати скрипку? ми спробуємо допомогти.
avrahamcool

1
Я щойно виявив помилку (на Edge). Якщо перевернутий вміст містить таблицю з прапорцями на кожному з його рядків, події покажчика будуть зіпсовані. Якщо ви встановите останній прапорець, він позначить перший і навпаки. Дивіться скрипку jsfiddle.net/uPwfn/646
James Cazzetta

3

Ось ще один спосіб, з допомогою rotating elementз scrollbarдля 180deg,упаковки це contentв інший елемент, і rotatingщо wrapperдля -180deg. Перевірте фрагмент нижче


1
Розумно, але принаймні на моєму Linux firefox це має побічний ефект заміни ефектів вставки / виходу обробника та смуги прокрутки; що надзвичайно заплутано.
Мартін Турной

подивитися на цей ansower stackoverflow.com/questions/7889449 / ...
Шаддад

@Carpetsmoker так, виправлено дотепність rtlі ltrнапрямок. Тож він матиме власний ефект прокрутки, scroll-down знизу та scroll-upзверху
Процес

1
Так, це виправлено для вертикалі, але не для горизонталі.
Мартін Турной

2

Спробуйте це. Сподіваюся, це допомагає

<div id="single" dir="rtl">
    <div class="common">Single</div>
</div>

<div id="both" dir="ltr">
    <div class="common">Both</div>
</div>



#single, #both{
    width: 100px;
    height: 100px;
    overflow: auto;
    margin: 0 auto;
    border: 1px solid gray;
}


.common{
    height: 150px;
    width: 150px;
}

розумна ідея, використовуючи dirвивчене щось нове, але мені теж знадобилися верх і низ
Нескінченні
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.