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

    :D

  • Unknown

    makasih mas, sangat membantu. :)

  • Chirasenzai

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

  • lijon leo

    thanks atas infonya sangat membantu

  • Unknown

    nice info

Komentar telah ditutup.