Propiedad CSS overflow-y: panduan lengkap, nilai, dan truk

Pembaharuan Terakhir: 11/13/2025
  • Overflow-y mengontrol kontrol vertikal: rekaman, desplaza, atau muestra the contenido.
  • Otomatis/gulir/tersembunyi membuat konteks format; klip rekaman tanpa izin untuk dibuka.
  • Untuk efek selanjutnya, tentukan ketinggian (ukuran blok) dan kombinasikan dengan overflow-x setelah pertemuan.
  • Akses yang dapat diakses: fokus pada teclado, tabindex, dan role/nombres ARIA apropiados.

Ilustrasi tentang propiedad CSS overflow-y

Mengontrol bagaimana menyimpan konten saat menjual kontennya sangat penting untuk perangkat web terbatas dan dapat digunakan; dan itu benar, overflow-y dan perintah CSS mengenai batas vertikal, memutuskan apakah Anda sedang merekam, menampilkan hambatan pada layar atau membuat kontennya terlihat aneh di suatu tempat.

Lebih dari itu, ada perubahan yang bisa Anda lakukan untuk menyelesaikan hasilnya: nilai-nilai ini mengaktifkan konteks format baru, ada beberapa izin yang diizinkan untuk diunduh dengan JavaScript dan blok lain, dan ada efek samping yang dapat menyebabkan konten atau dimasukkan ke dalam "scrollable" di antara keduanya jika tidak ada konfigurasi yang baik.

¿Apa yang meluap-y dan untuk apa tuan?

Properti meluap-luap menunjukkan navegador yang melakukan konten yang mengurangi elemennya perbatasan atas dan bawah. Jika ada beban yang lebih besar dari yang seharusnya pada batas yang ditentukan (atau maksimal), ini sesuaikan jika isi rekamannya akan hilang atau terlihat terlalu besar.

Menyimpan catatan tentang hubungan Anda dengan “hermana” horizontal: overflow-x mengontrol sisi-sisinya dan tidak bergerak, saat meluap-y se terpusat di kedatangan dan abajo. Dan, tentu saja, propiedad disingkat melimpah izinkan saya mengaturnya untuk sekali lagi dengan satu atau dua nilai.

Sintaxis y valores admitidos

En su forma más directa, overflow-y acepta los valores tersembunyi, gulir, otomatis y terlihat; dari klip yang spesifik dan modern yang sudah ada. Anda dapat menyatakannya seperti ini:

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

Si usas la abreviatura melimpah, puedes pasar uno o dos valores. Dengan keberanian, jika diterapkan pada hal tersebut; dengan nilai-nilainya, yang pertama sesuai dengan a luapan-x (horizontal) y el segundo a meluap-luap (vertikal):

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

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

Arti penting dari setiap keberanian

Itu mudah dilakukan di permukaan, tapi setiap kepala clave encierra suatu perilaku tertentu, dan beberapa termasuk peraturan aksesibilidad dan penyerahan barang-barang penting.

  • terlihat (valor por defecto): konten tidak dapat direkam dan dapat diputar di seluruh area padding elemen. Elemen itu Anda tidak akan dapat berkomunikasi dengan wadah instalasi; berguna jika Anda tidak ingin membatasi konten, tetapi dapat menyebabkan kerusakan pada komponen lain.

  • tersembunyi: kontennya se-recorta di perbatasan padding; no se muestran barras de deplazamiento. Kontennya mungkin ada di flue internal, tapi tidak terlihat di area tersebut. Meskipun pengguna tidak dapat melakukan gulir manual, Anda dapat mengunduh format program (misalnya, dengan scrollTop atau membuka fokus), maka elemen tersebut dianggap sebagai wadahnya.

  • klip: recorta el contenido en el tepi klip luapan, definido por overflow-clip-margin. A diferencia de hidden, tidak boleh dibuka, bukan manual atau terprogram. Tidak ada konteks format baru yang dibuat untuk hal yang sama; jika diperlukan, buka Flujo (seperti haría auto/scroll/hidden), kombinasikan dengan display: flow-root. Jika Anda ingin meminta tugas tanpa menggulir ke “resquicios”.

  • Scroll: el contenido se recorta y siempre se muestran barras de deplazamiento dan jika itu yang Anda aplikasikan, mungkin itu tidak nyata. Ini terus-menerus menghindari bar mati dan mati ketika kontennya berfluktuasi; sepuluh en cuenta que, aun así, Anda dapat yakin bahwa konten yang diunduh tidak termasuk bagian mesin impresi.

  • mobil: mirip gulungan, tapi solo añade barras ketika ada kebutuhan. Jika kapasitasnya besar, hasil visualnya kira-kira terlihat, tetapi elemennya bertindak seperti wadah instalasi dan adem menetapkan konteks format baru karena alasan rendimiento dan reflujo dengan elemen mengambang.

Sangat penting untuk mengubah hasilnya

Ada beberapa detail yang tidak dapat Anda temukan di pasar lain dan bahwa dalam praktiknya, Anda dapat menemukan perbedaannya: dimensi, konteks format, interaksi di antara keduanya, tayangan, dan dukungan layar terprogram.

Agar pegangan vertikal tidak efektif, blok tersebut harus tetap kuat altura (tinggi) atau altura máxima (tinggi maksimal) definisi; jika bekerja dalam kondisi logis, usa ukuran blok atau ukuran blok maksimum. Untuk skenario keuangan, lanjutkan a mendapatkan altura dari suatu elemen. Hal horizontal ini terjadi tepat pada tempatnya lebar/lebar maksimum o ukuran sebaris/ukuran sebaris maks; pilihan lain untuk membatalkan pengunduhan secara online spasi: nowrap.

Al elegir cualquier valor distinto de terlihat dan klip untuk overflow/overflow-y, elemennya menciptakan konteks format blok baru. Hal ini tidak perlu dilakukan, misalnya float yang akan memuat ulang konten setiap kali Anda menggulir, sehingga menurunkan kapasitas dan menurunkan kapasitasnya.

Kami juga mengatur interaksi antara hal-hal yang pertama kali kami lakukan: jika sudah mapan visible en un eje dan yang lainnya menggunakan keberanian yang tidak terlihat lautnya dan klipnya, itu visible actúa como auto. Asimismo, si pones clip en un eje y en el otro tidak terlihat ni klip, el clip se comporta como hidden; mengumpulkan informasi untuk menghindari hasil yang tidak diinginkan.

Dalam praktik sehari-hari, banyak orang memperhatikan apa yang diterapkan scroll o auto en un eje, el elemento pasa a ser un wadah gulir dan ciertas acciones (seperti elemen semu yang sobresalen) bisa aktifkan juga desktop di tempat lain jika tidak, kendalikanlah dengan baik. Ini adalah suatu perilaku yang koheren dengan spesifikasi dan motor yang ditampilkan saat ini.

Contoh cepat: buka altura dan aktifkan gulir vertikal

Demostrasi biasanya terdiri dari mengaktifkan blok teks yang berlebihan dan membiarkan kelebihannya hilang secara vertikal. Dalam hal ini, overflow-y: otomatis añade la barra solo ketika melakukan kesalahan.

<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: pelengkap tersembunyi a overflow-y untuk menghalangi getaran tata letak, elemen semu, atau elemen semu yang memicu bilah horizontal di dalamnya.

Kontrol dan deplazamiento dengan JavaScript

Ketika kontennya tidak dapat dihapus (otomatis, gulir, atau bahkan tersembunyi), dapat memindahkan konten melalui kode dengan propiedades dan metode standar seperti Element.scrollTop y Element.scrollTo(). Izinkan saya, sebagai contoh, letakkan fokus visual di bagian dalam atau serupa dengan yang terakhir di daftar.

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

Ada pengecualian yang jelas: si usas overflow: clip, el agente de usuario tidak ada izin untuk membuka program; konten dari perbatasan klip tidak dapat diakses dan dengan ratón ni dari JavaScript.

Aksesibilitas: teclado, fokus, dan pemutar layar

Suatu area yang tidak dapat dipindahkan lagi focuseable por teclado, karena pengguna yang menavigasi tanpa mouse dapat melakukannya tanpa melakukan instalasi. Di Firefox dan Chrome 132 atau lebih unggul, konten gulirnya jika Anda dapat fokus karena cacat; dan navegador lain, lain-lain tabindex="0" al contenedor.

Ahora bien, si introduces ese pemberhentian tab Pada saat yang sama, pemutar layar dapat melihatnya di wilayah tanpa konteks. Sayangnya, tetapkan satu rol ARIA adecuado (misalnya, role="region") y proporciona un nama yang dapat diakses dengan aria-label o aria-labelledby. Etiket yang jelas untuk membantu navigasi tanpa mengorbankan kegunaan.

Overflow-x y overflow-y: bagaimana jika digabungkan

La propiedad abreviada melimpah ijinkan didirikannya ambos ejes a la vez con uno o dos valores; ketika Anda spesifik, hal pertama adalah untuk itu luapan-x dan yang kedua untuk meluap-luap. Hal ini dapat dilakukan dengan cara menghilangkan bilah horizontal dan sesekali mengizinkan gulir vertikal.

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

Cara merekam dengan cepat, nilai yang tersedia untuk mengonfigurasi pengunduhan adalah: terlihat, tersembunyi, klip, Scroll y mobil. A nivel de ejes, luapan-x gobierna el flujo horisontal y meluap-luap vertikal, dan dapat digabungkan menjadi satu kesatuan.

“Tepi klip” dan margin klip luapan

Jika Anda memilih luapan: klip (o solo en el eje Y), rekamannya diwujudkan dalam denominasi perbatasan de klip de desbordamiento. Ini mungkin dapat diperluas lebih lanjut dari bantalan gracias a overflow-clip-margin, que acepta una longitud untuk berhenti “air” sebelum merekam.

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

Ingat klip tidak membuat konteks format baru. Jika diperlukan hal ini (sebagai contoh, untuk menggerakkan pelampung atau wadah yang mungkin dilipat), gabungkan klip dengan tampilan: aliran-akar dan ini akan menyebabkan efek yang sama pada konten yang diinginkan secara otomatis/gulir/tersembunyi.

Karena diperlukan dimensi yang jelas

Agar catatan atau gulir muncul sebenarnya, elemen tersebut memerlukannya altura establecida (tinggi o max-height) pada blok tersebut, atau setara secara logika ukuran-blok/ukuran-blok-maks; jika tidak, wadah yang dibuat dengan wadah dan penutupnya tidak akan aktif.

Dalam tata letak horizontal (misalnya, komidi putar), tentukan lebar/lebar maksimum o ukuran sebaris/ukuran sebaris maks untuk membatalkan pengiriman ke dalam daftar X; juga bisa digunakan spasi: nowrap untuk menghambat saluran online dan menyebabkan konten melebihi kapasitas yang tersedia.

Hapus bilah horizontal dari elemen semu atau elemen semu

Suatu hal yang sangat biasa: elemen semu ::setelah que flota hacia la derecha, o una sombra alargada, sobrepasa el contenedor y activa la barra horizontal dan ada elemen yang sudah meluap-y. Karena itu, ketika dikonversi ke dalam wadah gulir, motor akan mempertimbangkan area yang dihapus untuk pekerjaan itu.

Solusi umum: aplica overflow-x: tersembunyi di dalam wadah yang tidak dapat dipindahkan; mengontrol taman dan posisi elemen semu (hal. ej., con mengubah dalam posisi absolut jika prosedur); o akota con klip/jalur klip jika Anda mendapatkan laporan yang diterima. Strategi apa yang Anda miliki hindari gulir horizontal ke dalam sin sacrificar el vertical.

Demostrasi hasil dengan setiap keberanian

Yang berikut ini memblokir muestra seperti mengubah visibilidad dan las barras dengan nilai-nilai luapan yang berbeda-beda, semuanya dengan la misma altura máxima untuk melepaskan pegangan vertikal:

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

Perhatikan itu gulir siempre muestra la barra vertikal, saat Anda otomatis melakukannya ketika teks melebihi ketinggian. Secara tersembunyi, konten yang ada tidak hanya itu saja; dalam klip, tidak langsung ada melalui instalasi, jika tidak ingin menggunakan kode.

Kesan dan konten yang disampaikan

Detailnya belum diketahui: con luapan: gulir, beberapa motor tayangan Anda dapat membatalkan isi yang dibuang tapi tidak ada yang perlu dilakukan di layar. Jika Anda ingin mengekspor PDF atau kertas, berhati-hatilah dan putuskan preferensi Anda tersembunyi atau bahkan klip untuk menghindari salidas inesperadas.

Kompatibel dengan navegador

Sifat-sifat luapan, luapan-x y luapan-y gozan de soporte solide en the navegadores modernos desde hace many versiones. El keberanian klip y su compañera overflow-clip-margin terkait dengan spesifikasi yang lebih baru, tetapi Anda adopción actual es amplia dan crece con cada lanzamiento; mempelajari matriks kompatibilitas jika berhasil dalam berbagai hal.

Ketika fokus pada konten yang dihapus, temukan keanehannya: Firefox dan Chrome 132+ hal-hal yang dapat difokuskan karena cacat; untuk resto, lagi indeks tab=”0″ manual dan peran/nama yang dapat diakses untuk pengalaman yang konsisten.

Praktik bisnis manufaktur yang baik

Tidak ada yang perlu dilakukan dalam daftar dan batasan: menggabungkan propiedades para mencegah instalasi di luar ruangan dan menghasilkan stabilitas visual. Ada jeda yang berfungsi dengan baik dalam produksi.

  • Tentukan dimensi: tanpa tinggi/tinggi maksimal atau ukuran blok, wadahnya bertambah dan tidak mempengaruhi efek luapan-y.

  • Añade overflow-x: hidden ketika menggunakan overflow-y, maka perlu menggunakan sabuk dan kawat gigi horizontal. Evitas barras laterales provocadas por sombras, bordes o pseudo-elementos.

  • Prefiere auto frente a scroll jika Anda ingin bilah muncul sendirian ketika terjadi kesalahan, dan gulir jika Anda menemukan dimensi tata letak yang ditetapkan tanpa “saltos” untuk menampilkan/menghilangkan bilah gulir.

  • Klip AS jika ada catatan yang sulit (tanpa alur deplazamiento), dan kombinasi dengan tampilan: flow-root jika memerlukan konten flu.

Hubungan dengan ubin DOM dan API

En JavaScript, el DOM expone meluapY bagaimana mengatur gaya, dan dapat memeriksa/menyesuaikan keadaan elemen: element.style.overflowY y getComputedStyle(element).overflowY. Selain itu, untuk mengunduh konten Amerika Serikat gulir ke atas y gulir ke(), salvo con clip donde no hay 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' });
}

Jika pekerjaan itu mencakup bagian dalam, maka itu akan berguna tabular hacia un elemento oculto di dalamnya ada konten yang tersembunyi/otomatis yang dapat mengganggu navigasi bergulir secara otomatis untuk ponerlo en vista; Ini adalah cara yang sah untuk menginstal aplikasi secara terprogram, untuk melanjutkan navigasi ke komputer.

Tab mental dengan cepat dalam memilih

Untuk mengetahui pemandangannya: terlihat deja que todo sobresalga; tersembunyi rekaman dan izinkan gulir program; klip recorta y no permite scroll; Scroll catatan pero siempre muestra barras; kamu mobil solo muestra barras cuando prosedur. Anda menyelamatkannya tidak terlihat/klip membuat konteks format, penting untuk rendimiento dengan mengapung.

Contoh kombinasi untuk ini

Pelanggan apa yang selalu ada: izin gulir vertikal tanpa bilah horizontal, dan rekam ke dalam klip sementara yang lain akan diputar secara otomatis.

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

Sepuluh tampilan aturan interaksi: jika Anda menggunakan keberanian yang berbeda dari yang terlihat/klip dan yang lainnya terlihat, itu terlihat se eleva a auto. Dengan klip berhasil algo parecido: jika el otro eje tidak terlihat ni klip, el clip actúa como hidden.

Kasus penggunaan umum

En interfaces modernas, meluap-luap sangat menarik untuk kotak obrolan, panel filter, menu besar, log, atau daftar di tempat lain. Jika Anda melengkapi dengan cabeceras pegajosas dan footer di dalam wadah, dan kemudian menyertainya overflow-x: tersembunyi para evitar barras laterales.

Dalam perangkat dengan target atau modal, Anda bisa bergantian masuk mobil (untuk tidak menunjukkan la barra jika tidak ada yang gagal) y Scroll (untuk menstabilkan ancho ketika ada lampu yang menyala selama muatan). Jika modalnya harus merekam bagian-bagian dekorasi, klip menghindari interaksi dan perhitungan yang tidak perlu.

Kesalahan umum dan cara menghindarinya

Kesalahan yang berulang kali diumumkan overflow-y sin altura dan berharap suatu hal yang tidak mungkin terjadi; tentukan tinggi o tinggi maksimal/ukuran blok. Bagian kedua adalah olvidarse of eje horizontal: siempre valora overflow-x Secara paralel, semua hal dilakukan jika Anda menggunakan elemen semu atau elemen semu.

Un tercero es no considerar aksesibilitas: konten yang dapat dihapus tanpa fokus pada teclado atau tanpa banyak kemudahan yang dapat diakses dalam kehidupan sehari-hari dan pengguna konektor layar. Añade tabindex, role y aria-label ketika tidak ada laut yang bisa dipusatkan karena cacat.

Sumber terkait

Jika Anda ingin menambahkan, lihat kembali tutorial umum desbordamiento en CSS y la referencia del DOM para overflowY dan elemen. Halaman-halaman ini berisi dasar-dasar kekhususan akhir implementasi dan kompatibilitas.

Dominar overflow-y implica entender apa yang Anda rekam, ketika Anda membukanya, bagaimana berinteraksi dengan pekerjaan itu dan apa yang Anda lakukan dalam konteks format; dengan jeda dimensi, aksesibilitas dan kombinasi dengan overflow-x, itu adalah panel yang masuk akal dengan lancar, tanpa hambatan dan dengan tampilan yang ramah pengguna seperti para skrip.

Artikel terkait:
Dipecahkan: dapatkan ketinggian elemen ref
Pos terkait: