Saturday, January 28, 2012

Posisi Elemen di Tengah dengan CSS

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

Labels: , ,

15 Comments:

At Sunday, March 11, 2012 at 11:50:00 AM GMT+7, Blogger Putra said...

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

 
At Thursday, April 19, 2012 at 3:48:00 PM GMT+7, Blogger Ranggacun said...

thx banget postingannya !
akhirnya ketemu juga masalahnya hahah

 
At Tuesday, October 23, 2012 at 10:34:00 PM GMT+7, Blogger Unknown said...

thanks om, ini sangat membantu

 
At Thursday, June 6, 2013 at 9:54:00 PM GMT+7, Anonymous Anonymous said...

Kalo pake position fixed gimana bikin ke tengahnya mas?

 
At Friday, June 7, 2013 at 10:05:00 AM GMT+7, Blogger Taufik Nurrohman said...

Sama seperti absolut.

 
At Thursday, August 1, 2013 at 3:03:00 PM GMT+7, Anonymous Anonymous said...

ketemu juga,, :DD mampir gan

 
At Saturday, October 5, 2013 at 11:10:00 AM GMT+7, Blogger Ijal Fauzi said...

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

 
At Saturday, October 5, 2013 at 3:59:00 PM GMT+7, Blogger Taufik Nurrohman said...

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

 
At Saturday, October 5, 2013 at 6:20:00 PM GMT+7, Blogger Ijal Fauzi said...

Betul mas, kebetulan baru-baru ini saya menerapkannya di sini : [url=http://sman7bekasi.sch.id]http://sman7bekasi.sch.id[/url] dan sudah dicoba dibeberapa gadget sudah aman tampilannya :D

 
At Saturday, November 23, 2013 at 7:17:00 PM GMT+7, Blogger Unknown said...

hontoni arigatou, sangat membantu

 
At Thursday, January 21, 2016 at 1:11:00 PM GMT+7, Blogger Unknown said...

:D

 
At Wednesday, May 25, 2016 at 9:47:00 AM GMT+7, Blogger Unknown said...

makasih mas, sangat membantu. :)

 
At Sunday, December 4, 2016 at 4:53:00 PM GMT+7, Blogger Chirasenzai said...

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

 
At Sunday, July 9, 2017 at 6:12:00 PM GMT+7, Blogger lijon leo said...

thanks atas infonya sangat membantu

 
At Tuesday, March 6, 2018 at 5:10:00 AM GMT+7, Blogger Unknown said...

nice info

 

Post a Comment

<< Home