Cara Menengahkan Elemen dengan CSS
Membuat sebuah elemen agar bisa berada di tengah-tengah halaman web sebenarnya merupakan hal yang sederhana.
Tetapi hal ini sering sekali membuat para web developer pemula merasa bingung untuk melakukannya.
Pada tutorial kali ini, saya akan berbagi trik untuk membuat sebuah elemen atau item agar berada di tengah halaman atau elemen lain.
Ada 6 cara untuk melakukan hal tersebut dengan menggunakan CSS.
Berikut ini caranya:
Isi Konten
1. Menggunakan Text-Align
Metode text-align: center ini sering digunakan untuk menengahkan sebuah teks judul artikel maupun halaman.
Namun cara ini juga bisa digunakan untuk menengahkan elemen lain seperti <div> secara horizontal.
Berikut ini langkah-langkah implementasinya:
- Buat elemen
<div>sebagai parent dengan nama classbox__containerseperti ini<div class="box__container">. - Buat elemen
<div>baru sebagai child dari elemen di atas dengan namaboxseperti ini<div class="box">. - Pada class
box__containertambahkan deklarasitext-align: centeryang berfungsi untuk menengahkan elemen child atau classbox. - Pada class
boxtambahkan deklarasidisplay: inline-blockuntuk mengubah default display dariblockagar dapat ditengahkan. - Pada class
boxtambahkan juga properti tinggi, lebar, serta warna background sesuai selera kamu.
2. Menggunakan Margin Auto
Cara kedua ini sering digunakan untuk menengahkan sebuah konten halaman secara horizontal seperti pada cara pertama.
Langsung saja ke langkah-langkah pembuatannya:
Buat elemen
<div>dengan nama class box seperti ini<div class="box">.Tambahkan style pada class box untuk menentukan lebar, tinggi, dan warnanya.
Terakhir tambahkan juga
margin: 0 autopada class box. Properti ini yang membuat elemen bisa menjadi berada di tengah secara horizontal.Nilai
0akan membuat margin top dan bottom menjadi 0px (bisa juga diganti nilai lain sesukamu).Sedangkan nilai
autoakan mengatur secara otomatis margin-left dan margin-bottom agar elemen berada di tengah.
Contoh lain untuk menengahkan gambar:
3. Menggunakan Posisi Absolute
Pada materi tentang position CSS sudah dijelaskan mengenai perilaku posisi “absolute” yang tidak mengikuti aliran halaman.
Sehingga dengan posisi “absolute” kita bisa menempatkan elemen dimanapun pada halaman tanpa terpengaruh oleh posisi elemen lain.
Termasuk juga bisa digunakan untuk menengahkan elemen di dalam elemen lain.
Begini langkah-langkahnya:
- Buat elemen
<div>sebagai parent dengan nama class box__container seperti<div class="box__container"> - Buat lagi elemen
<div>sebagai child dengan nama class box seperti<div class="box"> - Tambahkan deklarasi
position: relativepada classbox__containeruntuk dijadikan acuan dari elemen child - Pada class
boxtambahkan style lebar, tinggi, dan warna elemen. - Kemudian tambahkan juga
position: absolute - Tambahkan lagi
left: 50% - Yang terakhir tambahkan
margin-leftdengan nilai negatif setengah dari lebar elemen “box”. Pada contoh ini lebar elemen box 200px, sehingga nilai setengahnya yaitu 100px. Jadimargin-left: -100px.
4. Menggunakan Transform dan Translate
Cara-cara yang kita pelajari di atas, digunakan untuk menengahkan elemen secara horizontal.
Lalu bagaimana jika kita ingin membuat elemen agar bisa berada di tengah-tengah elemen lain secara vertikal dan horizontal.
Kita pakai cara ini:
- Buatlah 2 elemen
<div>seperti pada contoh sebelumnya, serta atur lebar, tinggi, dan warnanya. - Tambahkan
position: absolutepada class “box” - Tambahkan juga left dan top menjadi 50% pada class “box”
- Terakhir tambahkan
transform: translate(-50%, -50%)
Sekarang lihat hasilnya…
Elemen box kamu bisa tepat berada ditengah-tengah.
5. Menggunakan Flexbox
Ini merupakan cara favorit yang paling sering saya gunakan untuk membuat elemen agar bisa berada di tengah baik secara horizontal maupun vertikal.
Cara membuatnya mirip dengan cara-cara sebelumnya, namun menurut saya cara ini yang paling mudah dipahami oleh pemula.
Terutama untuk membuat elemen agar bisa di tengah-tengah secara vertikal dan horizontal.
Begini langkah-langkah membuatnya:
- Buat elemen
<div>sebagai parent dengan nama class box__container seperti<div class="box__container"> - Buat lagi elemen
<div>sebagai child dengan nama class box seperti<div class="box"> - Tambahkan CSS berikut pada class
box__container:.box__container { display: flex; justify-content: center; /* membuat konten berada di tengah secara horizontal */ align-items: center; /* membuat konten berada di tengah secara vertikal */ height: 300px; } - Pada class
boxtambahkan style lebar, tinggi, dan warna
6. Di Tengah secara Vertikal
Cara terakhir ini digunakan untuk membuat elemen agar berada di tengah secara vertikal.
Caranya mirip dengan nomor 4 yaitu menggunakan position “absolute” dan “transform”.
Hanya style-nya saja yang diubah sedikit, jadi seperti ini:
.box {
position: absolute;
width: 200px;
height: 100px;
background: #b9f6ca;
top: 50%;
transform: translate(0, -50%)
}
