Jak zmienić pozycję paska przewijania za pomocą CSS?


97

Czy istnieje sposób na zmianę pozycji paska przewijania z lewej na prawą lub z dołu do góry za pomocą CSS?


Pasek przewijania w Twojej przeglądarce?
Awais Umar

wypróbuj tę wtyczkę jscrollpane.kelvinluck.com Ta wtyczka jquery umożliwia wykonanie niestandardowego css na pasku przewijania.
Awais Umar

Jedyne, co przychodzi mi do głowy, to mieć niestandardowy pasek przewijania i styl, który pozwala ustawić go tak, jak lubisz. Wtyczka jscrollpane zasugerowana przez @AwaisUmar jest czymś, czego używałem w przeszłości i jest całkiem dobrym początkiem.
Zhihao

Raczej wszystkie przeglądarki, ale jeśli znasz konkretną przeglądarkę, powiedz nam
Mohsen Safari

Nie da się tego zrobić za pomocą czystego CSS.
Itay,

Odpowiedzi:


127

Korzystanie tylko z CSS:

Flippiing w prawo / w lewo: skrzypce robocze

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

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

Przerzucanie od góry do dołu: skrzypce robocze

.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
Nie widzę górnego paska przewijania na przewróconym divw Chrome 29 na skrzypcach do przewijania górnego / dolnego .
Mathijs Flietstra

Najwyraźniej jest to błąd przeglądarki . Zaktualizowałem moje Fiddle w odpowiedzi. Sprawdź to teraz.
avrahamcool

W Google Chrome 35.0.1916.153, gdy obracam dwukrotnie, pojawiają się problemy z danymi wejściowymi / selekcją. W FF wszystko działa OK.
lechup

@lechup czy możesz opublikować skrzypce? postaramy się pomóc.
avrahamcool

1
Właśnie odkryłem błąd (w Edge). Jeśli odwrócona zawartość zawiera tabelę z polami wyboru w każdym z jej wierszy, zdarzenia wskaźnikowe zostaną pomieszane. Jeśli zaznaczysz ostatnie pole wyboru, wybierze pierwsze i odwrotnie. Zobacz fiddle jsfiddle.net/uPwfn/646
James Cazzetta,

4

Oto inny sposób, za rotating elementpomocą scrollbardo 180deg,zawijania go contentw inny element, a rotatingto wrapperdo -180deg. Sprawdź poniższy fragment


1
Sprytne, ale przynajmniej w moim firefoksie dla Linuksa ma efekt uboczny zamiany efektów wstawiania / początku obsługi i paska przewijania; co jest bardzo zagmatwane.
Martin Tournoij


@Carpetsmoker tak, poprawiono kierunek rtli ltr. Więc będzie miał natywny efekt przewijania, scroll-down do dołu i scroll-updo góry
Proces

1
Tak, jest ustalony dla pionu, ale nie dla poziomu.
Martin Tournoij

3

Wypróbuj to. Mam nadzieję że to pomoże

<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;
}

sprytny pomysł wykorzystujący dirnauczyłem się czegoś nowego, ale potrzebowałem też góry i dołu
Endless
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.