Propiedad CSS overflow-y: compleet, waardevol en effectief

Laatste update: 11/13/2025
Auteur: C Bronpad
  • Overloopcontrole van het verticale bord: recorta, weergave van de inhoud.
  • Automatisch/scrollen/verbergen formatteercontext aanmaken; clip wordt weergegeven zonder weergave.
  • Om dit effect te bereiken, definieer een andere (of blokgrootte) en combineer deze met overflow-x daarna samenkomen.
  • Toegankelijke toegang: foco por teclado, tabindex en rollen/namen ARIA apropiados.

Illustratie van de propiedad CSS-overflow-y

Controle over de inhoud die de verkoop van de concurrentie mogelijk maakt, is bedoeld om een ​​web te maken dat soepel en bruikbaar is; en deze terreno, overflow-y in CSS wordt verticaal weergegevenAls u besluit of u het meeste wilt weten, of als u wilt weten dat de inhoud een tijdje bezig is.

Meer dan de basis, hooimaten die Cambodjaans zijn voor het volledige resultaat: deze waarde activeert een nieuwe formatcontextHoewel het mogelijk is om JavaScript uit te voeren en andere blokken te gebruiken, kunnen er ook effecten optreden die kunnen leiden tot een strijd die "scrollbaar" kan zijn op een manier die geen goede configuratie heeft.

Wat is de overloop en de heer?

Het eigendom overloop-y geeft aan dat de navigatie een contendo heeft dat het element op zijn beurt weergeeft borde superior e inferior. Als een blok meer inhoud krijgt van wat dan ook op een andere manier wordt bepaald (of maximaal), dan kan het juiste besluit worden genomen over de inhoud ervan, het is verwerpelijk of zichtbaar als de recuadro wordt weergegeven.

Neem uw relatie op met uw “hermana” horizontaal: overflow-x controla los laterales en derecho, terwijl de overloop centraal staat in de aankomst en het begin. Y, por supuesto, la propiedad abreviada overloop laat het instellen van een aantal dingen met een of andere waarde toe.

Sintaxis y valores admitidos

En su forma más directa, overflow-y acepta los valores verborgen, scrollen, automatisch en zichtbaar; Er zijn moderne specifieke specificaties die bestaan ​​uit een clip. U kunt dit verklaren:

/* CSS */
selector {
  overflow-y: hidden | scroll | auto | visible | clip;
}

Si usas la abreviatura overloop, puedes pasar uno o dos valores. Met een moed kun je dit toepassen; met uw waarde, de eerste correspondentie a overloop-x (horizontal) y el segundo a overloop-y (verticaal):

/* Un solo valor, aplica a X e Y */
.container { overflow: auto; }

/* Dos valores: overflow-x overflow-y */
.panel { overflow: hidden auto; }

Belangrijke details over de waarde van het leven

Het is gemakkelijk om op de oppervlakte te komen, maar cada palabra clave encierra un comportamiento specíficoDe meeste mensen omvatten toegangscontrole en belangrijke prestaties.

  • visible (valor por defecto): de inhoud wordt niet gerapporteerd en kan meer informatie opleveren over het hele gebied van de opvulling van het element. Het element geen convierte en contenedor desplazamiento; Als u de inhoud niet beperkt, kunt u solapamientos met andere componenten veroorzaken.

  • verborgen: de inhoud wordt weergegeven op het bord van de opvulling; Het is niet nodig om de ontploffing te voorkomen. De inhoud bestaat in de internationale stroom, maar is niet zichtbaar in het gebied. Aunque el usuario no pueda hacer scroll manual, Het is mogelijk dat u een programmaprogramma verspeelt (Om bijvoorbeeld met scrollTop of de weergave van de foco te scrollen), de modus waarin het element rekening houdt met de kans op de weergave.

  • klem: recorta el contenido en el overloop clip rand, gedefinieerd door overflow-clip-margin. Een verschil van verborgen, geen toestemming om te programmeren, noch handmatig, noch programmatisch. Er is geen nieuwe context van formaat gemaakt omdat dit zo is; als u de stroom wilt gebruiken (als automatisch/scroll/verborgen), gecombineerd met display: flow-root. U kunt een antwoord vinden op de vraag of u met een “antwoord” kunt scrollen.

  • rol: el contenido se recorta y Als u de waarschuwingsbalk wilt gebruiken, moet u dit doen Als het een applicatie is, is er geen sprake van echt. Het is altijd zo dat het barras kan verschijnen en verdwijnen als de inhoud fluctueert; tien en cuenta que, aun así, het is mogelijk dat de inhoud is inbegrepen según de motor van de indruk.

  • auto: vergelijkbaar met een rol, maar solo en barras cuando son necesarias. Als de inhoud wordt weergegeven, is het visuele resultaat ongeveer zichtbaar, maar het element is actief als de verspreiding en ademhaling Stel een nieuwe context van format in door de motivatie van het renderen en het weigeren van elementaire flotantes.

Matices esenciales die cambian het resultaat zijn

Er zijn enkele details die u niet kunt gebruiken als u in de praktijk het verschil wilt zien: de dimensies, de formatteringscontext, de interación tussen de ejes, de indruk en het programma voor het weergeven van programma's.

Als het verticale bord een echt effect heeft, zal het blok te lang duren altura (hoogte) of altura máxima (max-hoogte) definities; si trabajas en términos lógicos, usa blokgrootte of max-blokgrootte. Voor de scenario's die u kunt bedenken Zorg dat u een extra element krijgt. In het horizontale vlak ontstaat propio con breedte/max-breedte o inline-grootte/max-inline-grootte; andere opties om het bord op een lijn te zetten witruimte: nowrap.

Al deze elementen onderscheiden zich door hun moed zichtbaar en klem para overflow/overflow-y, el elemento Creëer een nieuwe context van het format van het blok. Dit is het geval, omdat een van de inhoud van een boek opnieuw wordt weergegeven in een boekrol, wat de weergave van het scherm verslechtert.

Als u tussendoor de interacción regelt, wordt de eerste stap gezet: als u in elkaar zit zichtbaar in een eje y en el otro usas un valor dat geen zee zichtbaar ni clip, ese visible actúa como auto. Asimismo, si pones clip en un eje y en el otro no es zichtbaar ni clip, el clip se comporta como hidden; conviene conocerlo para evitar resultaatados dos unesperados.

In uw praktische dagboek kunt u veel observeren als u het toepast scroll o auto en un eje, el elemento pasa a ser un scrollcontainer y ciertas acciones (como pseudo-elementos que sobresalen) pueden activeer de weergave in een ander eje si no se controla bien. Het is een coherente overeenkomst met de specifieke specificaties en de feitelijke weergavemotoren.

Bijvoorbeeld snel: ga naar de andere kant en activeer de verticale scroll

Een typische demonstratie bestaat uit het vergroten van een tekstblok en het toestaan ​​dat de excessen verticaal worden verplaatst. In dit geval, overflow-y: auto añade la barra solo cuando haga falta.

<div class="caja">
  <p>Texto largo...</p>
  <p>Más texto...</p>
</div>

.caja {
  max-height: 220px;
  padding: 12px;
  border: 1px solid #ccc;
  overflow-y: auto;   /* barra vertical solo si es necesaria */
  overflow-x: hidden; /* evitamos scroll horizontal accidental */
}

Fíjate en el detaille: overflow-x: verborgen complementen a overflow-y Om de vibratie van de lay-out te belemmeren, kunnen pseudo-elementen een horizontale beweging veroorzaken.

Controle en weergave met JavaScript

Als de tegenstander verwerpelijk is (automatisch, scrollen of verborgen), u kunt de inhoud van de code verplaatsen met propiedades en methoden zoals deze Element.scrollTop y Element.scrollTo(). Als u dit toestaat, kunt u een visueel interieur of een vergelijkbaar einde van de lijst zien.

// Desplazar 200px hacia abajo
const panel = document.querySelector('.panel');
panel.scrollTop = 200;

// O ir con precisión a una posición
panel.scrollTo({ top: 0, behavior: 'smooth' });

Er is een uitzondering explícita: si usas overflow: clip, el agente de usuario geen toestemming om een ​​programma uit te voeren; De inhoud van de clip aan de rand is niet toegankelijk met de ratón ni via JavaScript.

Toegankelijkheid: techniek, foco en lectores de pantalla

Een gebied dat niet eenvoudig is, is verwerpelijk focuseable por teclado, omdat het gebruikelijk is dat het apparaat niet meer in de vorm van een ontploffing kan worden gebruikt. In Firefox en in Chrome 132 zijn superieur de scroll-contenedores u kunt de focus op defecto leggen; en andere navegadores, añade tabindex="0" naar de container.

Ahora bien, si introduces ese tabstop Als u dat doet, kan een lector van de regio de context van de regio bepalen. Om dit te voorkomen, wijst u een rol ARIA adecuado (bijvoorbeeld role="region") y proporciona un nombre accessible met aria-label o aria-labelledby. Een duidelijke manier om de navigatie te helpen is de bruikbaarheid ervan op te offeren.

Overflow-x y overflow-y: dit is een combinatie

La propiedad abreviada overloop sta toe dat u een van uw waarden opricht; Als het specifiek is, is de eerste keer paraat overloop-x en de tweede voor overloop-y. Dit maakt het mogelijk om de horizontale balk te verwijderen, zodat u verticaal kunt scrollen.

/* Evita barra horizontal, permite scroll vertical si hace falta */
.contenedor { overflow: hidden auto; }

Als de opnamesnelheid snel is, zijn er beschikbare waarden om het bord te configureren als: zichtbaar, verborgen, klem, rol y auto. A nivel de ejes, overloop-x gobierna el flujo horizontaal y overloop-y verticaal, en u kunt een paar keer samenkomen.

“Clip edge” en overflow-clip-margin

Als u kiest overloop: clip (o solo in el eje Y), het verslag wordt gerealiseerd in de naam borde de clip van het bordamiento. Deze bordeaux kan worden uitgebreid met alle vullingen overflow-clip-margin, que acepta una lengte voor de “lucht” vóór de verslaglegging.

.tarjeta {
  overflow-y: clip;              /* cortar sin permitir scroll */
  overflow-clip-margin: 8px;     /* recorta 8px por fuera del padding */
}

Herinneren clip maakt geen nieuwe context van het format. Als dit nodig is (om bijvoorbeeld te zorgen dat de vlotter of meerdere samenvoegingen worden weergegeven), combineer dan een clip met weergave: stroom-wortel en het lijkt erop dat dit een effect heeft op de automatische/scroll/verborgen modus.

Er zijn expliciete dimensies nodig

Als het verslag of de scroll verschijnt, is het element noodzakelijk altura establecida (hoogte of maximale hoogte) in het blok, of een gelijkwaardige logica blokgrootte/maximale blokgrootte; Als dat niet het geval is, wordt de concurrent gecreëerd met de contenido en de melding wordt niet geactiveerd.

En horizontale lay-outs (bijvoorbeeld, carrousels), definiëren breedte/max-breedte o inline-grootte/max-inline-grootte om het bord op het X-bord te zetten; je kunt het gebruiken witruimte: nowrap om te voorkomen dat de lijn zou worden gevuld en dat de inhoud de beschikbare tijd overschrijdt.

Laat de horizontale barra draaien door pseudo-elementen of sombras

Een echt geval is een gewoonte: een pseudo-element ::na die de recha heeft, of een van de alargada's, die de strijd aangaat activa la barra horizontal in een element dat overstroomt. Als het eenmaal is gelukt om een ​​concurrent te worden, overweegt de motor het gebied uit te breiden om het meest te presteren.

Typische oplossingen: aplica overflow-x: verborgen en el contenedor onverbiddelijk; controle van de tamaño en positie van het pseudo-element (p. ej., con transformeren en lugar de posición absoluta si procede); o acota con clip/clip-pad Als u een verslag wilt maken. Het is een strategie om dit te doen verwijder de scroll horizontaal indeseado sin sacrificar el vertical.

Demonstratie van de resultaten met cada valor

Het volgende blok moet de zichtbaarheid en de waarde van de cambian met de verschillende waardes van de overloop vergroten, alles met de misma altura máxima om het verticale ontwerp te bepalen:

<div class="demo visible">Contenido largo...</div>
<div class="demo hidden">Contenido largo...</div>
<div class="demo clip">Contenido largo...</div>
<div class="demo scroll">Contenido largo...</div>
<div class="demo auto">Contenido largo...</div>

.demo {
  max-height: 140px;
  padding: 10px;
  margin-bottom: 12px;
  border: 1px solid #bbb;
}
.visible { overflow-y: visible; }
.hidden  { overflow-y: hidden; }
.clip    { overflow-y: clip; }
.scroll  { overflow-y: scroll; }
.auto    { overflow-y: auto; }

Let erop dat scroll siempre muestra la barra verticaalHet kan zijn dat auto-solo de tekst de andere kant op laat gaan. En verborgen, de contenido sobrante hoeft niet langer te duren; in een clip bestaat er geen directe weergave van een weergave zonder dat dit met de code is gebeurd.

Indruk en inhoud toegevoegd

Een gedetailleerd overzicht van de details: con overloop: scrollen, alle indrukmotoren Als u de inhoud van het bord kunt bekijken, kunt u dit doen aunque no quepa en pantalla. Als u overweegt een PDF-document te exporteren, kunt u beslissen of u een voorkeur heeft verborgen of klem om onverwacht vertrek te voorkomen.

Compatibel met alle navigatiesystemen

De eigenschappen overloop, overloop-x y overloop-y het is een solide basis in de moderne navigatiesystemen waarvan er veel versies zijn. El moed klem en zijn partner overflow-clip-margin pertenecen een especificaciones meer recent, pero su adopción actual es amplia y crece con cada lanzamiento; Zorg ervoor dat u de compatibiliteitsmatrices kunt gebruiken als u tegengestelde problemen ondervindt.

En terwijl de strijd tegen verwerpelijke tegenstanders de eigenaardigheid opmerkt: Firefox en Chrome 132+ er zijn focuspunten per defect; para el resto, añade tabindex=”0″ handmatig en een rol/naam toegankelijk voor een consistente ervaring.

Praktische maquetaciónoefeningen

Er is geen enkele keuze die u kunt maken met een lijst: combineer propiedades para voorkom dat het apparaat wordt ontploft y ganar en estabilidad visual. Er is een aantal jaren dat functioneel is tijdens de productie.

  • Definieer afmetingen: als hoogte/max-hoogte of blokgrootte wordt de concurrent groter en is het effect van de overloop niet groter.

  • Añade overflow-x: verborgen cuando maakt gebruik van overloop, terwijl u horizontale riem-en-bretels nodig heeft. Het kan later provoceren door sommige mensen, of pseudo-elementen.

  • Prefiere auto frente a scroll Als u de bar alleen wilt zien als deze mislukt, en scroll dan naar de afmetingen van de lay-out zonder “zouten” voor het verschijnen/verwijderen van schuifbalken.

  • Usa clip als je de duro vertelt (zonder desplazamiento), en gecombineerd met weergave: flow-root is noodzakelijk voor de flujo.

Relatie met DOM en API's

En JavaScript, el DOM expone overloopY als u de eigenaar bent, kunt u de installatie van het element inspecteren/aanpassen: element.style.overflowY y getComputedStyle(element).overflowY. Bovendien, om de Verenigde Staten te verslaan scrollTop y scrollTo(), salvo con clip donde no hooi scroll de ningún tipo.

const panel = document.querySelector('.panel');
panel.style.overflowY = 'auto';
if (getComputedStyle(panel).overflowY !== 'visible') {
  panel.scrollTo({ top: panel.scrollHeight, behavior: 'smooth' });
}

Als u uw internaat verbind, recuerda que tabellarisch een element van oculto door een verborgen/automatische concurrent die de navigatie kan gebruiken automatisch scrollen om naar het uitzicht te kijken; Het is een legitieme vorm van programma-ontwerp dat kan worden gebruikt om de navigatie met technologie te verbeteren.

Bekijk de mentale snelheid van de opties

Voor een helder zicht op een vistazo: zichtbaar deja que todo sobresalga; verborgen rapporteer en laat scrollprogramma's toe; klem recorta y no permite scroll; rol recorta pero siempre muestra barras; j auto solo muestra barras cuando gaat door. Ik heb het gevonden geen zichtbare/clip-creatie van formateo-context, essentieel voor rendimiento con floats.

Combinatie-combinaties voor ejes

Onze patrones zijn constant: permitir scroll verticaal Als u horizontaal bent, rapporteert u een clip met een andere automatische weergave.

/* Scroll vertical, sin horizontal */
.lista {
  max-height: 300px;
  overflow-x: hidden;
  overflow-y: auto;
}

/* Recorte duro en X, desplazamiento automático en Y */
.panel {
  overflow-x: clip;
  overflow-y: auto;
  display: flow-root; /* contén el flujo si lo necesitas */
}

Tien presentaties van de interactie: als een ander onderscheid van zichtbaar/clip en andere zichtbaar is, is dit zichtbaar eleva a auto. Met een clip die ook nog eens parecido: als de andere clip niet zichtbaar is, el clip actúa como hidden.

Veelvoorkomende gebruiksgevallen

En interfaces modernas, overloop-y Het is onweerstaanbaar voor chatboxen, filterpanelen, grote menu's, logboeken of lijsten met andere activiteiten. Als u de titels en voetteksten van de concurrent aanvult, en als u een vergelijking maakt overflow-x: verborgen para evitar barras laterales.

Als deze op de juiste manier worden weergegeven, kunnen ze tussendoor worden vervangen auto (para no mostrar la barra si no hace falta) y rol (om het vastzetten van de lading tijdens het laden te stabiliseren). Als het modale deel van de decoratie wordt gerapporteerd, klem verwijder interaciones en andere berekeningen.

Veelgemaakte fouten en hoe u ze kunt vermijden

De val wordt steeds herhaald overflow-y sin altura Je kunt een barra verwachten die nunca llega is; definieer hoogte of maximale hoogte/blokgrootte. Het tweede deel is horizontaal horizontaal: siempre valora overflow-x Tegelijkertijd gebruiken we allemaal pseudo-elementen.

Un tercero es no considerar toegankelijkheid: tegenstanders die verwerpelijk zijn, zijn technisch of niet-toegankelijk, waardoor de gebruiker de pantalla-connector kan gebruiken. Añade tabindex, rol en aria-label cuando geen zee focusbaar por defecto.

Verwante middelen

Als u meer wilt weten, bekijk dan de algemene tutorial desbordamiento en CSS y la referencia del DOM para overflowY en elementos. Deze pagina's zijn gebaseerd op de fundamentele kenmerken van de implementatie en compatibiliteit.

Dominaire overloop impliceert een impliciete entender wat er wordt gezegd, als het wordt verteld, is interactief met het werk en wat het effect ervan is in de context van het format; met de afmetingen, toegankelijkheid en combinatie met overflow-x, zijn vloeiende log-panelen, die impregneren en een soepele weergave voor gebruik als scripts.

Gerelateerd artikel:
Opgelost: verkrijg de hoogte van elementref
Gerelateerde berichten: