CSS 溢出屬性:guía completa, valores y trucos

最後更新: 11/13/2025
作者: C 源追蹤
  • 溢出控制垂直方向:recorta、desplaza 或 muestra el contenido。
  • 自動/捲動/隱藏建立格式上下文;剪輯記錄允許 desplazamiento。
  • 就效果而言,定義 altura(區塊大小)並與溢出 x según convenga 組合。
  • 訪問方式:foco port teclado,選項卡索引和角色/名稱 ARIA apropiados。

CSS 溢出屬性說明

Controlar cómo se comporta el contenido cuando se sale del contenedor es clave para un diseño web limpio y usable;在這片土地上, 溢出-y zh CSS manda sobre el desbordamiento 垂直,決定記錄,最重要的巴拉斯德德普拉扎米恩託或德哈爾 que el que el contenido se asome fuera del cuadro。

Más allá de lo básico, hay matices cambian por completo el resultado: 新格式環境中的啟動價值,並且允許使用 JavaScript 進行擴展,並且還可以在其他方面發揮作用,從而在配置中提供「可捲動」服務。

¿ Qué es Overflow-y y para qué Sirve?

物業 溢出 Indica al navegador qué hacer con el contenido que rebasa el elemento por su 上下邊界。在最大的範圍內,您可以調整大小,以決定是否繼續使用,然後將其拆掉,以使其可見。

方便記錄與「hermana」水平方向的關係: 溢出-x 控制橫向方向, mientras que Overflow-y se centra en arriba y abajo。 Y, por supuesto, la propiedad abreviada 溢出 允許您與我們一起工作。

Sintaxis y valores admitidos

En su forma más directa, overflow-y 接受值 隱藏、滾動、自動可見; Desde especaciones 現代 también 存在剪輯。聲明如下:

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

Si usas la abreviatura 溢出, puedes pasar uno o dos valores。 Con un valor,se aplica a ambos ejes; con dos valores, el primero corree a 溢出-x (水平)y el segundo a 溢出 (垂直的):

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

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

勇氣的意義

但表面上很方便 Cada palabra clave encierra un compportamiento específico,這些內容包括有關可訪問性和重要資訊的規定。

  • 可見的(valor por defecto): 內容不包括記錄和所有元素填充區域。元素 不與廣場爭奪戰;如果沒有限制其他內容,可能會引發其他元件的問題。

  • : el contenido se recorta en el borde del padding; 沒有穆埃斯特蘭·巴拉斯·德普拉扎米恩托。內部的情況是存在的,但沒有可見的區域。 Aunque el usuario no pueda hacer 捲軸手冊, sí puede desplazerse de formaprogramática (例如,滾動頂部或desplazando el foco),de modo que el elemento se thinka contenedor de desplazamiento。

  • : recorta el contenido en el 溢出裁剪邊緣, definido por overflow-clip-margin. 隱藏的區別, 不允許使用手冊和程序。沒有創建新的格式上下文或 símismo; si necesitas aislar el Flujo(como haría 自動/滾動/隱藏),combínalo con display: flow-root。 Úsalo cuando quieras un corte tajante sin 捲軸 ni “resquicios”。

  • 滾動: el contenido se recorta y 西姆普雷·塞姆斯特蘭·巴拉斯·德廣場 en el eje al que aplique, haya o no desbordamiento real. Esta constancia evita que las barras aparezcan y desaparezcan cuando el contenido fluctúa;十 encuenta que, aun así, 禁止通緝犯 啟動引擎。

  • 汽車類似捲軸,但是 獨奏阿尼亞德巴拉斯寬多兒子內塞薩裡亞斯。如果內容是這樣的,視覺結果是一個可見的,但元素是實際的,與 deplazamiento 和 además 的內容相同 建立新的格式環境 與流動的元素有關的交會和回流的動機。

Matices esenciales que cambian el resultado

Hay cinco detalles que no conviene pasar por alto y que, en la practica, marcan la differencia: 維度、格式背景、互動、印象和空間規劃的支持.

Para que el desbordamiento Vertical tenga efecto real, el bloque debe tener altura(高度)或 altura maxima(最大高度) 定義; si trabajas en terminos lógicos, 美國 區塊大小或最大區塊大小。 Para escenarios dinámicos, aprende a 獲得一個元素的阿爾圖拉。 En el eje 水平發生 lo propio con 寬度/最大寬度 o 內聯大小/最大內聯大小;其他選項以促進 el desbordamiento en linea es 空格:現在換行.

Al elegir cualquier valor distinto de 可見 溢出/溢出-y,el elemento 創建一個新的區塊格式環境。這就是為什麼,在滾動的過程中,你會漂浮在空中,在滾動的過程中,會逐漸退化,失去廣場。

重要的是要在最初的時候進行互動:si estableces 可見於 y en el otro usas un valor que no seavisible ni 剪輯, ese visible actúa como auto. Asimismo, si pones clip en un eje y en el otro 沒有可見的夾子,el clip se comporta como hidden; Conviene conocerlo para evitar resultados inesperados。

En la practica diaria, mucha gente observa que al aplicar scroll o auto en un eje, el elemento pasa a ser un 滾動容器 y ciertas acciones (como fake-elementos que sobresalen) pueden 激活其他地方的廣場 si no se controla bien。這是與實際渲染的具體細節和引擎的一致性。

快速:快速滾動並啟動垂直滾動

Una demostración típica containse en acotar la altura de un bloque de texto yallowir que el exceso se desplaceverticalmente.恩斯特卡索, overflow-y:自動 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 detalle: overflow-x:隱藏的 overflow-y 的補充 Para impedir que vibraciones de layout, sombras o fake elementos provoquen una barra Horizo​​n indeseada.

透過 JavaScript 控制和消除廣場

Cando el contenedor es desplazable(自動,捲動或隱藏), 推動科迪戈的前進 相關的財產和方法 Element.scrollTop y Element.scrollTo()。因此,您可以在視覺上看到一個內部裝飾或類似的最終清單。

// 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' });

明確的例外: si usas overflow: clip,用戶代理 不允許節目廣場改造;該剪輯的內容無法透過 JavaScript 存取。

附件:teclado、foco y lectores de pantalla

Un area desplazable no siempre es 可透過鍵盤對焦,así que el usuario que navega sinratón puede quedarse sin forma de desplazla. En Firefox 和 Chrome 132 或更高版本,滾動內容 叛逃者; en otros navegadores, añade tabindex="0" 容器。

Ahora bien, si 介紹 ese 製表位 西加斯(ciegas),聯合國講師在背景下的地區。帕拉米蒂加洛,asigna un rol ARIA adecuado (例如, role="region") y proporciona un 可訪問的名稱aria-label o aria-labelledby。在犧牲使用的情況下,應遵守正確的禮儀。

溢出-x y 溢出-y: 組合起來

La propiedad abreviada 溢出 允許建立一個 ambos ejes a la vez con uno o dos valores;特殊情況、特殊情況 溢出-x 第二個 溢出。可以水平滾動,也可以垂直滾動。

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

Como recordatorio rápido,los valores disponibles para configurar el desbordamiento son: 可見, , , 滾動 y 汽車. A nivel de ejes, 溢出-x 戈比爾納埃爾弗盧霍水平 y 溢出 垂直,y puedes 組合según convenga。

「裁切邊緣」 y 溢出裁切邊距

如果你選擇 溢出:剪輯 (oolo en el eje Y), el recorte se realiza en el deminado 德斯博達米恩托邊境。 Ese borde puede Extenderse más allá del padding gracias a overflow-clip-margin, que acepta una longitud para dejar “aire” antes de recortar。

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

記住 剪輯沒有建立新格式上下文。 Si necesitas ese aislamiento (por ejemplo, para gestionar floats o contener márgenes colapsados), 組合夾子 顯示:流根 您可以設定自動/捲動/隱藏內容的效果。

明確必要的尺寸

Para que el recorte or el roll aparezcan de verdad, el elemento necesita una 穩定高度 (高度或最大高度)en el eje de bloque, o su equale lógico 區塊大小/最大區塊大小;如果不,我們將繼續努力,並繼續努力。

En 水平佈局(例如,輪播),定義 寬度/最大寬度 o 內聯大小/最大內聯大小 para forzar el desbordamiento en el eje X;塔比安普埃德斯烏薩爾 空格:現在換行 對衝突的阻礙和挑釁超過了危險。

Evitar la barra 水平 por 偽元素 o 黑影

Un caso real muyhabitual: 聯合國偽元素 ::後 que flota hacia la derecha, o una sombra alargada, sobrepasa el contenedor y activa la barra horizo​​ntal en un elemento que ya tiene Overflow-y。為了成功,請在捲軸上進行轉換,並考慮將引擎與引擎連接起來。

典型解決方案: 應用溢位-x:隱藏 en el contenedor desplazable; controla el tamaño y posición del fake-elemento (p. ej., con 改造 en lugar de posición Absolute si procede);阿科塔康 剪輯/剪輯路徑 si Buscas un recorte tajante。策略聯盟 evita el 水平滾動 indeseado sin sacrificar el vertical.

勇氣成果展示

El siguiente bloque muestra como cambian la visibilidad y las barras con los distintos valores de Overflow-y, todos con la misma altura máxima para forzar el desbordamiento 垂直:

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

注意 滾動 siempre muestra la barra 垂直,我的意思是自動獨奏 lo hace cuando el texto 超越 la altura。在隱藏中,el contenido sobrante no se ve pero sigue estando ahí;在剪輯中,直接不存在通過 deplazamiento,ni si quiera con código。

印象與內容

Un detalle menos conocido: con 溢出:滾動, 阿爾古諾斯汽車印象 普埃登·阿卡巴爾·因普里米恩多·埃爾·孔泰尼多·德布爾達多 aunque no quepa en pantalla。如果您想使用 PDF 或紙本文件,請參考並決定您的偏好 甚至 para evitar salidas inesperadas。

導航者之間的相容性

屬性 溢出,溢出x y 溢出y Gozan de soporte solido en los navegadores Modernos desde hace muchas versionses。埃爾勇敢 和她的同伴 overflow-clip-margin 相關的具體知識,請參閱 adopción actual es amplia y crece con cada lanzamiento;計算與過去的相容性矩陣。

En cuanto al foco de contenedores desplazables, recuerda la fancyidad: Firefox 和 Chrome 132+ los hacen focuseables por defeto;帕拉埃爾雷斯託山 tabindex=”0″ 手冊和聯合國經驗可存取的名稱。

製作實踐

沒有待辦事項 es poner una barra y listo:combina propiedades para 預防工業化 y ganar en estabilidad 視覺效果。 Aquí van unas pautas que funcionan muy bien en producción。

  • 定義尺寸:由於區塊大小的高度/最大高度,因此不會產生溢出效應。

  • 添加 overflow-x:隱藏 cuando 使用溢出式,齊射需要腰帶和支架水平。 Evitas barras Lateres provocadas por sombras, bordes o fake-elementos。

  • Prefiere auto frente a scroll 如果拉巴拉阿帕雷斯卡獨奏 cuando haga falta,則滾動條的尺寸可透過滾動條的「saltos」/desaparición 建立佈局。

  • 美國剪輯 cuando quieras recorte duro (sin rutas de desplazamiento),並結合顯示:flow-root si necesitas contención del Flujo。

DOM 和 API 的關係

在 JavaScript 中,DOM 指數 溢出 Como propiedad de estilo, y puedes inspeccionar/ajustar el estado del elemento: element.style.overflowY y getComputedStyle(element).overflowY。 Además,美國本土地區 捲動頂部 y scrollTo(),齊射夾子,沒有乾草捲軸。

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

Si trabajas con enlaces internos, recuerda que 表格形式的神秘元素 隱藏的競爭者/自動 puede hacer que el navegador 自動捲動 帕拉·波內洛·維斯塔;這是合法的 deplazamiento 程序,直到最出色的導航。

快速選擇的塔布拉心理

Para tenerlo claro de un vistazo: 可見 deja que todo sobresalga; 記錄並允許滾動節目; recorta y no permite scroll; 滾動 recorta pero siempre muestra barras; y 汽車 獨奏穆埃斯特拉巴拉斯寬多繼續前進。雷庫爾達克 沒有可見/剪輯建立格式上下文,重要的 para rendimiento con 浮動。

組合的範例

始終如一的贊助人: 允許垂直滾動 水平放置,並在自動廣場上的其他地方進行剪輯。

/* 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 */
}

十件互動展示:si un eje usa un valor distinto devisible/clip y el otro ponevisible, esevisible se 電梯。 Con Clip sucede algo parecido: si el otro eje no esvisible ni Clip, el clip actúa como hidden.

常見用例

En interfaces modernas, 溢出 這是令人難以置信的聊天框、過濾器面板、大選單、日誌或清單以及其他內容。與 cabeceras pegajosas 和 footers dentro del contenedor 相輔相成,並伴隨著 de overflow-x:隱藏 para evitar barras laterales.

En diseños con tarjetas o modales, puedes alternar entre 汽車 (para nomostrar la barra si no hace falta)y 滾動 (para estabilizar el ancho cuando aparecería la barra durante la carga)。 Si el modal debe recortarpartesdecorativas, 進行互動和計算。

常見錯誤以及如何避免它們

重複聲明的錯誤 溢出 sin 高度 y esperar una barra que nunca llega;定義高度或最大高度/塊大小。水平方向的第二個: siempre valora overflow-x 在並行中,sobre todo si usas sombras o fake-elementos。

Un tercero es no considerar 可訪問性: 內容是與潘塔拉的講師一起使用的生活中的常見內容。阿尼亞德 tabindex、角色 y aria-label 沒有海可聚焦或叛逃。

相關資源

如果您想了解更多,請修改通用教程 結束 CSS y la referencia del DOM 參數溢出 en Elementos。本頁包含基本原理及實作及相容性的特殊特性。

支配性溢出和隱含關係 這是在廣場上進行的,是在格式上下文中與操作和效果互動的;與維度相關,與溢出-X 相關的配件和組合,以及流體的日誌記錄面板、改進的效果以及與腳本中常用的平緩的腳本相關的內容。

相關文章:
解決:取得元素引用的高度
相關文章: