Cara Mengatur Overflow dan Visibility di CSS

Created at by Aris Munandar

Ketika kita bekerja dengan layout CSS, sering kali elemen memiliki konten yang melebihi batas wadahnya. Masalah seperti teks yang “keluar” dari box atau gambar yang melampaui kontainer sangat umum terjadi.

Di sinilah overflow CSS dan visibility CSS berperan penting.

Keduanya adalah properti pengaturan tampilan elemen dalam layout — satu mengatur bagaimana konten yang berlebihan ditampilkan, dan satu lagi mengatur apakah elemen terlihat atau tidak. Dalam artikel ini, kita akan belajar cara mengatur overflow dan visibility di CSS dengan penjelasan lengkap, contoh kode, serta tips praktis agar hasil layout tetap rapi dan profesional.

Baca juga: Tutorial CSS Units Lengkap: px, em, rem, %, vw, vh

Apa Itu Overflow CSS?

Overflow CSS digunakan untuk menentukan bagaimana browser menangani konten yang lebih besar daripada area kontainer. Misalnya, jika teks terlalu panjang atau gambar terlalu lebar, maka overflow-lah yang mengontrol perilakunya.

Sintaks dasarnya:

overflow: visible | hidden | scroll | auto;Code language: HTTP (http)

1. overflow: visible; (Default)

Nilai default ini berarti konten yang melebihi batas kontainer tetap terlihat di luar area elemen.

.box {
    width: 200px;
    height: 100px;
    overflow: visible;
}Code language: CSS (css)

Catatan: Meskipun terlihat “alami”, penggunaan overflow: visible bisa mengacaukan layout jika tidak dikontrol dengan baik.

2. overflow: hidden;

Properti ini menyembunyikan konten yang melampaui batas kontainer.

.box {
    width: 200px;
    height: 100px;
    overflow: hidden;
}Code language: CSS (css)

Cocok digunakan saat kamu ingin menampilkan area terbatas tanpa scrollbar.

Namun, konten yang tersembunyi tidak dapat digulir.

Kasus umum:

  • Memotong gambar agar pas dalam frame.
  • Menyembunyikan teks yang terlalu panjang.

3. overflow: scroll;

overflow: scroll memaksa munculnya scrollbar, baik konten meluap atau tidak.

.container {
    width: 300px;
    height: 150px;
    overflow: scroll;
}Code language: CSS (css)

Scrollbar akan selalu muncul, menjadikan elemen bisa digulir ke segala arah.

4. overflow: auto;

Dengan nilai auto, scrollbar hanya muncul jika konten benar-benar meluap.

Ini adalah opsi paling umum dan fleksibel dalam layout modern.

.content {
    width: 400px;
    height: 200px;
    overflow: auto;
}Code language: CSS (css)

Mengatur Overflow Horizontal dan Vertikal

Kadang, kamu hanya ingin mengatur overflow di satu arah saja.

Gunakan properti overflow-x dan overflow-y.

.scroll-x {
    overflow-x: scroll;
    overflow-y: hidden;
}
.scroll-y {
    overflow-y: scroll;
    overflow-x: hidden;
}Code language: CSS (css)

Catatan:

  • overflow-x css mengatur arah horizontal.
  • overflow-y css mengatur arah vertikal.

Keduanya membantu menjaga konten panjang atau lebar tetap rapi dalam desain.

Contoh Penggunaan Overflow Hidden di CSS

Berikut contoh penerapan praktis:

<div class="card">
    <img src="gambar.jpg" alt="gambar">
</div>Code language: JavaScript (javascript)
.card {
    width: 300px;
    height: 200px;
    overflow: hidden;
    border-radius: 10px;
}
.card img {
    width: 100%;
    height: auto;
}Code language: CSS (css)

Hasilnya: gambar akan tetap proporsional dan tidak keluar dari bingkai kontainer.

Overflow Shorthand CSS

Kamu juga bisa menggunakan shorthand untuk mengatur overflow-x dan overflow-y sekaligus:

overflow: hidden auto; /* overflow-x: hidden; overflow-y: auto; */Code language: JavaScript (javascript)

Ini mempermudah saat ingin kontrol kombinasi arah overflow.

CSS Scroll Behavior dan Overflow Scroll

Kamu bisa menambahkan efek scroll yang halus (smooth scrolling) dengan scroll-behavior:

html {
    scroll-behavior: smooth;
}Code language: CSS (css)

Sangat cocok jika digabungkan dengan overflow scroll css untuk pengalaman pengguna yang lebih baik.

Menyembunyikan Scrollbar Tapi Tetap Bisa Scroll

Kadang kita ingin konten bisa digulir tapi tanpa scrollbar terlihat.

.hide-scroll {
    overflow: auto;
    scrollbar-width: none; /* untuk Firefox */
    -ms-overflow-style: none; /* untuk IE dan Edge */
}
.hide-scroll::-webkit-scrollbar {
    display: none; /* untuk Chrome, Safari, Opera */
}Code language: CSS (css)

Mengatasi Elemen Keluar dari Container CSS

Salah satu masalah umum dalam layout adalah elemen yang keluar dari batas kontainer.

Solusi terbaik: kombinasikan overflow hidden css dan box-sizing: border-box.

.container {
    overflow: hidden;
    box-sizing: border-box;
}Code language: CSS (css)

Dengan begitu, elemen tetap berada dalam batas aman tanpa tumpang tindih antar bagian layout.

Apa Itu Visibility CSS?

Visibility CSS mengontrol apakah elemen terlihat atau tidak di layar, tanpa menghapusnya dari alur dokumen.

Sintaks dasar:

visibility: visible | hidden | collapse;Code language: HTTP (http)

1. visibility: visible;

Elemen akan terlihat sepenuhnya (nilai default).

.text {
    visibility: visible;
}Code language: CSS (css)

2. visibility: hidden;

Elemen tidak akan terlihat, tetapi ruang di layout tetap ada.

.text {
    visibility: hidden;
}Code language: CSS (css)

Perbedaannya dengan display: none adalah:

  • display: none menghapus elemen dari layout.
  • visibility: hidden hanya menyembunyikan tampilannya.

3. display: none vs visibility: hidden

PropertiElemen Terlihat?Ruang Layout Masih Ada?
display: none
visibility: hidden

Contoh:

.box1 {
    display: none;
}
.box2 {
    visibility: hidden;
}Code language: CSS (css)

Silakan kamu coba dua kode css diatas menggunakan elemen apa saja supaya bisa dilihat perbedaannya secara langsung.

Contoh Penggunaan Visibility Hidden CSS

Misal kamu ingin menyembunyikan notifikasi tanpa menghapus posisi elemen lain:

<div class="notif">Pesan berhasil dikirim!</div>Code language: HTML, XML (xml)
.notif {
    visibility: hidden;
}Code language: CSS (css)

Posisi elemen tetap ada, hanya tampilannya yang disembunyikan.

Kombinasi Overflow dan Visibility CSS

Kedua properti ini bisa bekerja bersama.

Contoh: Menyembunyikan konten panjang dengan overflow, lalu mengatur visibilitasnya.

.wrapper {
    width: 300px;
    height: 100px;
    overflow: hidden;
}
.wrapper .text {
    visibility: hidden;
}Code language: CSS (css)

Penggunaan Overflow Hidden dan Visible di CSS Layout

Kadang kamu butuh overflow: visible agar elemen seperti tooltip atau dropdown tidak terpotong.

.menu {
    overflow: visible;
}Code language: CSS (css)

Namun untuk konten tetap seperti kartu, gunakan overflow: hidden; agar tampilan tetap rapi.

CSS Clip Overflow untuk Efek Potongan Kustom

Kamu dapat menggunakan clip-path untuk efek potongan unik, berbeda dengan overflow biasa.

.image {
    clip-path: circle(50%);
    overflow: hidden;
}Code language: CSS (css)

Gabungkan dengan overflow hidden untuk hasil visual yang bersih.

Contoh Lengkap CSS Overflow dan Visibility

<div class="box">
    <p>Konten panjang yang tidak muat dalam kotak akan disembunyikan oleh overflow.</p>
</div>
Code language: HTML, XML (xml)
.box {
    width: 250px;
    height: 80px;
    overflow: auto;
    visibility: visible;
    border: 2px solid #ddd;
    padding: 1rem;
}Code language: CSS (css)

Hasilnya: pengguna dapat menggulir isi jika teks terlalu panjang.

Tips Menggunakan Overflow dan Visibility CSS

  1. Gunakan overflow: auto untuk area teks panjang.
  2. Gunakan overflow: hidden untuk potongan gambar atau card layout.
  3. Gunakan visibility: hidden jika hanya ingin menyembunyikan tampilan tanpa memengaruhi layout.
  4. Hindari overflow: visible pada elemen yang berdekatan agar tidak terjadi tumpang tindih.
  5. Untuk efek animasi show/hide, kombinasikan visibility dengan opacity dan transition.

CSS White-Space dan Overflow

white-space juga berpengaruh terhadap overflow teks.

Gunakan white-space: nowrap; untuk mencegah teks turun ke baris baru, dan tambahkan overflow agar tetap rapi.

.text {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}Code language: CSS (css)

CSS Scrollbar Styling

Jika kamu menggunakan overflow scroll css, kamu dapat menyesuaikan tampilan scrollbar agar sesuai dengan desain:

::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background-color: #555;
}Code language: CSS (css)

Studi Kasus: Konten Panjang dalam Modal

<div class="modal">
    <div class="modal-content">
        <p>Isi konten yang panjang di sini...</p>
    </div>
</div>Code language: HTML, XML (xml)
.modal {
    position: fixed;
    top: 0; left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0,0,0,0.6);
}
.modal-content {
    width: 80%;
    height: 70%;
    margin: 5vh auto;
    overflow-y: auto;
    background: #fff;
    padding: 2rem;
}Code language: CSS (css)

Dengan overflow-y: auto, konten dalam modal tetap bisa digulir tanpa memengaruhi latar belakang.

Kesimpulan

Memahami overflow CSS dan visibility CSS sangat penting dalam pengembangan web modern.

Keduanya memungkinkan kamu mengatur tampilan konten berlebih dan visibilitas elemen secara fleksibel.

  • Gunakan overflow untuk mengontrol perilaku konten yang melampaui batas.
  • Gunakan visibility untuk menyembunyikan atau menampilkan elemen tanpa mengubah struktur layout.
  • Kombinasikan keduanya untuk hasil desain yang responsif, bersih, dan terstruktur.

Dengan memahami perbedaan, fungsi, dan contoh penerapannya, kamu dapat membangun layout yang lebih stabil dan profesional di berbagai perangkat.

Comments

Congrats, you have the opportunity to be the first commenter on this article. Have questions or suggestions? Please leave a comment to start discussion.

Leave comment

Your email address will not be published. Required fields are marked *