Diferença entre HTML "overflow: auto" e "overflow: scroll"

123

Quando eu estava estudando os overflowvalores da propriedade, me deparei com esses dois valores: autoe scroll, que adiciona barra (s) de rolagem se o conteúdo exceder o limite do elemento.

Alguém poderia me explicar qual é a diferença entre eles?

GirishK
fonte

Respostas:

185

Automático mostra apenas uma barra de rolagem quando qualquer conteúdo é cortado.

No entanto, a rolagem sempre mostrará a barra de rolagem, mesmo que todo o conteúdo caiba e você não possa rolá-la.

Johan Davidsson
fonte
2
Parece não haver diferença, pelo menos na versão mais recente do Safari: Mesmo com scroll, não vejo a barra de rolagem se o conteúdo se encaixar. Mas, apenas por segurança, segui autoporque só quero mostrar uma barra de rolagem quando o conteúdo é cortado.
precisa saber é o seguinte
1
O @MattDiPasquale OS X e o Windows exibem barras de rolagem de maneiras diferentes. Você provavelmente está usando o Safari no Mac, certo? O OS X geralmente oculta a barra de rolagem até você realmente rolar.
Johan Davidsson 26/03
1
Parece haver mais diferença do que isso, overlow: scrolltorna o mais fino caixa: jsbin.com/letog/2/edit
Dmitri Zaitsev
No Safari 12 (provavelmente versões anteriores também), a menos que as barras de rolagem estejam configuradas para serem exibidas sempre overflow: scrolle overflow: autosejam funcionalmente idênticas quando o contêiner for grande o suficiente para conter o conteúdo.
Luke Worth
15

overflow: scrollocultará todo o conteúdo excedente e fará com que as barras de rolagem apareçam no elemento em questão. Se o conteúdo não exceder o limite, as barras de rolagem ainda estarão visíveis, mas desativadas.

overflow: auto é muito semelhante, mas as barras de rolagem aparecem apenas quando o conteúdo está excedendo.

Há uma explicação semelhante sobre isso aqui , com algumas capturas de tela para ilustrar o ponto.

James Allardice
fonte
2

Dê uma olhada nos truques CSS .

Automático mostrará a barra de rolagem se e somente se o conteúdo exceder; mas a rolagem sempre mostrará a barra de rolagem, esteja o conteúdo excedendo ou não.

samir chauhan
fonte
1

Adicionando um ponto à resposta, Overflow:autonão funcionou no IE7 quando a posição do contêiner é absoluta Excedente relativo da posição IE7 . Mas configurar Overflow:scrollfunciona

Kira
fonte
0

estouro: a rolagem mostrará a barra de rolagem horizontal e vertical, mesmo quando você não precisa de uma ou outra. enquanto overflow: auto mostrará a barra de rolagem de que sua div precisa. então basicamente auto ajudará você a se livrar da barra de navegação. Aqui está mais do que isso:

https://css-tricks.com/the-css-overflow-property/

manish joshi
fonte