Como mudar a posição da barra de rolagem com CSS?

97

Existe alguma maneira de mudar a posição da barra de rolagem da esquerda para a direita ou de baixo para cima com CSS?

Mohsen Safari
fonte
Barra de rolagem do seu navegador?
Awais Umar,
experimente este plugin jscrollpane.kelvinluck.com Este plugin jquery permitirá que você faça css personalizado na barra de rolagem.
Awais Umar,
A única coisa em que consigo pensar é em ter uma barra de rolagem personalizada e um estilo para posicioná-la como quiser. O plugin jscrollpane sugerido por @AwaisUmar é algo que usei no passado e é um bom começo.
Zhihao,
Todos os navegadores, mas se você souber de um navegador específico, conte-nos
Mohsen Safari
Não há como fazer isso com CSS puro.
Dia

Respostas:

127

Usando CSS apenas:

Flippiing direita / esquerda: violino trabalhando

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

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

Lançamento superior / inferior: violino trabalhando

.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 */
}
Avrahamcool
fonte
1
Não vejo uma barra de rolagem superior invertida divno Chrome 29 no violino Top / Bottom Invertendo .
Mathijs Flietstra
Aparentemente, é um bug do navegador . Atualizei meu Fiddle na resposta. verifique agora.
Avrahamcool
No Google Chrome 35.0.1916.153, quando eu giro duas vezes, há alguns problemas com entradas / seleção. No FF tudo funciona bem.
lechup de
@lechup você pode postar um violino? vamos tentar ajudar.
Avrahamcool
1
Acabei de descobrir um bug (no Edge). Se o conteúdo invertido contiver uma tabela com caixas de seleção em cada uma de suas linhas, os eventos de ponteiro ficarão confusos. Se você marcar a última caixa de seleção, ela marcará a primeira e vice-versa. Veja fiddle jsfiddle.net/uPwfn/646
James Cazzetta
4

Aqui é uma outra maneira, por rotating elementcom o scrollbarde 180deg,embrulho é contentem outro elemento, e rotatingque wrapperpara -180deg. Verifique o snippet abaixo

O processo
fonte
1
Inteligente, mas pelo menos no meu firefox Linux tem o efeito colateral de trocar os efeitos de inserção / início do manipulador e barra de rolagem; o que é super confuso.
Martin Tournoij
olhada neste ansower stackoverflow.com/questions/7889449/...
Shaddad
@Carpetsmoker sim, corrigido com a direção rtle ltr. Portanto, terá efeito de rolagem nativo, scroll-down na parte inferior e scroll-upna parte superior
O Processo
1
Sim, é fixo para a vertical, mas não para a horizontal.
Martin Tournoij
3

Experimente isso. Espero que isto ajude

<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;
}
Piyush Arya
fonte
ideia inteligente usando diraprendi algo novo, mas eu precisava de cima e de baixo também
Endless