Senin, 27 Mei 2013

Membuat elemen absolute/fixed berada ditengah


element center

Cara ini sebenarnya sudah pernah dibahas oleh Designhack yaitu tentang bagaimana membuat apa saja berada ditengah, karena disana semuanya telah dibahas mulai dari elemen, teks dan background. Tapi Pada kesempatan kali ini saya akan membahas tentang centering element atau membuat elemen berada ditengah dengan posisi fixed/absolute.

ILUSTRASI




Kodenya aku warnai biar gampang dibedakan...

Problem/Masalah:

1. Jika anda membuat elemen dengan posisi absolute/fixed lalu memberi kode left: 50% dan top: 50% dengan tujuan agar elemen berada ditengah maka hasilnya masih agak kacau (jika belum diberi margin).

2. Border jika pada elemen yang anda buat menggunakan border maka nilai ketebalan border itu sangat berpengaruh agar elemen bisa tepat berada ditengah.

Solusi:

Saat anda memberi property left: 50% dan top: 50% pada elemen fixed/absolute, maka anda harus atur pula nilai margin dari elemen tersebut. untuk mengaturnya anda harus melihat dulu berapa lebar dan tinggi elemennya lalu bagi dua, perhatikan ilustrasi diatas lebar 200px dan tinggi 150px jika 200px dibagi dua maka hasilnya 100px dan 150px dibagi dua hasilnya 75px sekarang beri nilai marginnya dengan nilai hasil bagi lebar dan tinggi elemen, tapi dalam bentuk minus agar elemen berada tepat ditengah. sesuai dengan kode left: 50% dan top: 50% maka pada marginnya yang perlu anda atur adalah nilai left dan top nya seperti ilustrasi diatas.

Pasti anda bertanya-tanya kenapa hasil bagi 200px dan 150px diatas justru 105px dan 80px itu karena ada border dengan ketebalan 5px jadi jika anda mmenggunakan border pada elemen absolute/fixed maka anda harus tambah nilainya dengan nilai bordernya seperti contoh diatas 200px bagi dua 100px ditambah ketebalan border 5px jadi 105px, begitu juga 150px seharusnya kan 75px tapi karena ada border dengan ketebalan 5px jadi 75 + 5 = 80 Nah seperti itulah kira-kira gambaran untuk membuat elemen absolute/fixed berada ditengah. bisa anda buktikan dengan membuat dua elemen yaitu elemen pertama dengan posisi relatif menggunakan margin: 0 auto lalu kedua buat elemen absolute dan lihat apakah ada yang beda atau tidak.

CONTOH

Lihatlah sumber dari halaman tersebut, gak ada beda kan antara posisi absolute dan relatif