Diferencia entre HTML "overflow: auto" y "overflow: scroll"

123

Cuando estaba estudiando los overflowvalores de la propiedad, encontré estos dos valores: autoy scroll, que agrega barras de desplazamiento si el contenido desborda el elemento.

¿Podría alguien explicarme cuál es la diferencia entre ellos?

GirishK
fuente

Respuestas:

185

Auto solo mostrará una barra de desplazamiento cuando se recorta algún contenido.

Sin embargo, Scroll siempre mostrará la barra de desplazamiento incluso si todo el contenido cabe y no puede desplazarse.

Johan Davidsson
fuente
2
No parece haber una diferencia, al menos en la última versión de Safari: incluso con scroll, no veo la barra de desplazamiento si el contenido encaja. Pero, solo para estar seguro, fui con autoporque solo quiero mostrar una barra de desplazamiento cuando el contenido está recortado.
ma11hew28
1
@MattDiPasquale OS X y Windows muestran las barras de desplazamiento de diferentes formas. Probablemente estés usando Safari en Mac, ¿verdad? OS X a menudo oculta la barra de desplazamiento hasta que realmente se desplaza.
Johan Davidsson
1
Parece haber más diferencia que eso, overlow: scrollhace que la caja sea más delgada: jsbin.com/letog/2/edit
Dmitri Zaitsev
En Safari 12 (probablemente también versiones anteriores), a menos que las barras de desplazamiento estén configuradas para mostrar siempre, overflow: scrolly overflow: autosean funcionalmente idénticas cuando el contenedor sea lo suficientemente grande para contener el contenido.
Luke Worth
15

overflow: scrollocultará todo el contenido desbordado y hará que aparezcan barras de desplazamiento en el elemento en cuestión. Si el contenido no se desborda, las barras de desplazamiento seguirán estando visibles, pero deshabilitadas.

overflow: auto es muy similar, pero las barras de desplazamiento solo aparecen cuando el contenido se desborda.

Hay una explicación similar de esto aquí , con algunas capturas de pantalla para ilustrar el punto.

James Allardice
fuente
2

Eche un vistazo a los trucos de CSS .

Auto mostrará la barra de desplazamiento si y solo si el contenido se desborda; pero el desplazamiento siempre mostrará la barra de desplazamiento, ya sea que el contenido se desborde o no.

samir chauhan
fuente
0

desbordamiento: el desplazamiento mostrará una barra de desplazamiento horizontal y vertical incluso cuando no necesite una u otra. while, overflow: auto mostrará la barra de desplazamiento que necesita su div. así que, básicamente, auto te ayudará a deshacerte de ambos scollbar. Aquí hay más de eso:

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

manish joshi
fuente