Mecha versi 2.6.3 sudah dirilis!

Posisi Elemen di Tengah dengan CSS

Tabel Konten
  1. Posisi di Tengah secara Horizontal 
  2. Posisi di Tengah secara Horizontal dan Vertikal 

Ada dua metode untuk mengatur posisi elemen agar berada di tengah. Pertama, menggunakan metode margin auto untuk posisi elemen di tengah secara horizontal. Ke dua, menggunakan margin negatif dan posisi absolut untuk posisi elemen berada di tengah secara vertikal maupun horizontal.

Posisi di Tengah secara Horizontal 

Menerapkan nilai margin auto pada sisi kiri dan kanan akan membuat elemen berada di tengah secara horizontal. Katakanlah bahwa margin auto merupakan margin otomatis yang bisa menyesuaikan diri. Dengan menerapkan margin auto, maka elemen seolah-olah akan menjauhkan dirinya sejauh-jauhnya dari sisi kiri dan kanan sehingga elemen di antaranya akan diam di tengah:

#page-wrap {
  width:300px;
  height:1000px;
  margin:0 auto;
}
Centered HTML Element
margin:10px auto 0;

Lihat Demo

Posisi di Tengah secara Horizontal dan Vertikal 

Caranya dengan menerapkan posisi absolut pada elemen. Atur nilai top dan left sebesar 50% (gambar pertama), kemudian tarik kembali elemen menuju ke tengah dengan menuliskan nilai margin-top dan margin-left sebesar setengah dari tinggi dan lebar elemen dengan nilai negatif (gambar ke dua):

#page-wrap {
  width:300px;
  height:240px;
  position:absolute;
  left:50%;
  top:50%;
  margin-left:-150px; /* (300/2) */
  margin-top:-120px;  /* (240/2) */
}
Centered HTML Element
Atur nilai top dan left sebesar 50%, kemudian angkat kembali elemen dengan jarak 1/2 dari lebar dan tinggi elemen.

Lihat Demo

Khusus untuk Internet Explorer lama biasanya memerlukan penambahaan deklarasi text-align:center pada elemen induknya seperti ini:

body {
  text-align:center;
}

#page-wrap {
  text-align:left;
  width:300px;
  height:1000px;
  margin:0 auto;
}

15 Komentar

Putra

ada juga yg share :))
udah pernah tak pikir2 juga mas :D

Ranggacun

thx banget postingannya !
akhirnya ketemu juga masalahnya hahah

Unknown

thanks om, ini sangat membantu

Anonim

Kalo pake position fixed gimana bikin ke tengahnya mas?

Anonim

ketemu juga,, :DD mampir gan

Ijal Fauzi

Ada alternatif selain menggunakan margin negatif dari setengah dari lebar atau tingginya mas taufik. Kita bisa gunain translate(-50%, -50%) buat elemen yang misalkan cuma diketahui tingginya aja.


#element {
position:absolute;
z-index:10; /* misalnya */
top:50%;
left:50%;
width:80%;
transform:translate(-50%, -50%);
}

Taufik Nurrohman

Yup. Cuma agak kurang nyaman saja sama prefiksnya. Tapi ini cocok sekali kalau diterapkan untuk mengatasi masalah elemen yang tidak memiliki lebar dan tinggi yang tetap. Misalnya gambar:

img {
display:block;
position:absolute;
top:50%;
left:50%;
-webkit-transform:translate(-50%,-50%);
-moz-transform:translate(-50%,-50%);
-ms-transform:translate(-50%,-50%);
-o-transform:translate(-50%,-50%);
transform:translate(-50%,-50%);
}

Demo: http://jsfiddle.net/tovic/3heCz

Unknown

hontoni arigatou, sangat membantu

Unknown

makasih mas, sangat membantu. :)

Chirasenzai

makasih gan, ngebantu banget..... :-bd

lijon leo

thanks atas infonya sangat membantu

Komentar telah ditutup.