Come cambiare la posizione della barra di scorrimento con CSS?


94

C'è un modo per cambiare la posizione della barra di scorrimento da sinistra a destra o dal basso verso l'alto con CSS?


Barra di scorrimento del tuo browser?
Awais Umar,

prova questo plugin jscrollpane.kelvinluck.com Questo plugin jquery ti permetterà di fare CSS personalizzati sulla barra di scorrimento.
Awais Umar,

L'unica cosa a cui riesco a pensare è avere una barra di scorrimento personalizzata e uno stile per posizionarla come preferisci. Il plugin jscrollpane suggerito da @AwaisUmar è qualcosa che ho usato in passato ed è un buon inizio.
Zhihao,

Piuttosto tutti i browser, ma se conosci un browser specifico, dicci
Mohsen Safari

Non c'è modo di farlo con CSS puro.
Itay

Risposte:


125

Utilizzando solo CSS:

Flippiing destro / sinistro: violino funzionante

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

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

Capovolgimento dall'alto / dal basso: violino funzionante

.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
Non vedo una barra di scorrimento superiore sul capovolto divin Chrome 29 sul violino Flipping superiore / inferiore .
Mathijs Flietstra

A quanto pare, è un bug del browser . Ho aggiornato il mio violino nella risposta. controllalo adesso.
avrahamcool

In Google Chrome 35.0.1916.153 quando giro due volte ci sono dei problemi con gli input / selezione. In FF tutto funziona bene.
lechup

@lechup puoi postare un violino? proveremo ad aiutare.
avrahamcool

1
Ho appena scoperto un bug (su Edge). Se il contenuto capovolto contiene una tabella con caselle di controllo su ciascuna delle sue righe, gli eventi del puntatore verranno incasinati. Se selezioni l'ultima casella di controllo, selezionerà la prima e viceversa. Vedi violino jsfiddle.net/uPwfn/646
James Cazzetta

3

Ecco un altro modo, rotating elementcon il scrollbarper 180deg,avvolgerlo contentin un altro elemento, e rotatingquello wrapperper -180deg. Controlla lo snippet di seguito


1
Intelligente, ma almeno sul mio Firefox Linux ha l'effetto collaterale di scambiare gli effetti inset / outset del gestore e della barra di scorrimento; che è molto confuso.
Martin Tournoij

un'occhiata a questo ansower stackoverflow.com/questions/7889449/...
Shaddad

@Carpetsmoker yes, fixed wit the rtland ltrdirection. Quindi avrà efetto di scorrimento nativo, scroll-down verso il basso e scroll-upverso l'alto
Il processo

1
Sì, è fisso per la verticale, ma non per l'orizzontale.
Martin Tournoij

2

Prova questo. Spero che sia di aiuto

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

un'idea intelligente usando dirappreso qualcosa di nuovo, ma avevo bisogno anche di alto e basso
Endless
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.