Banyak siswa desain web responsif mengalami kesulitan menggunakan persentase untuk nilai lebar. Secara khusus, ada kebingungan tentang bagaimana browser menghitung persentase tersebut. Di bawah ini Anda akan menemukan penjelasan mendetail tentang cara kerja persentase untuk penghitungan lebar di situs web responsif.
Menggunakan Piksel untuk Nilai Lebar
Saat Anda menggunakan piksel sebagai nilai lebar, hasilnya sangat mudah. Jika Anda menggunakan CSS untuk mengatur nilai lebar elemen di header dokumen menjadi lebar 100 piksel, elemen itu akan menjadi ukuran yang sama dengan yang Anda setel ke lebar 100 piksel di konten atau footer situs web atau area halaman lainnya. Piksel adalah nilai absolut, jadi 100 piksel adalah 100 piksel di mana pun elemen muncul di dokumen Anda. Sayangnya, meskipun nilai piksel mudah dipahami, nilai tersebut tidak berfungsi dengan baik dengan situs web responsif.
Ethan Marcotte menciptakan istilah “desain web responsif”, menjelaskan pendekatan ini mengandung 3 prinsip utama:
- Jaringan fluida
- Media cair
- Pertanyaan media Media
Dua titik pertama tersebut, grid fluid, dan media fluid dicapai dengan menggunakan persentase, bukan piksel, untuk nilai ukuran.
Menggunakan Persentase untuk Nilai Lebar
Saat Anda menggunakan persentase untuk menetapkan lebar elemen, ukuran sebenarnya yang ditampilkan elemen akan bervariasi tergantung di mana letaknya dalam dokumen. Persentase adalah nilai relatif, artinya ukuran yang ditampilkan relatif terhadap elemen lain dalam dokumen Anda.
Misalnya, jika Anda mengatur lebar gambar hingga 50%, ini tidak berarti bahwa gambar akan ditampilkan setengah dari ukuran normalnya. Ini adalah kesalahpahaman umum.
Jika sebuah gambar sebenarnya memiliki lebar 600 piksel, maka menggunakan nilai CSS untuk menampilkannya pada 50% tidak berarti lebarnya akan menjadi 300 piksel di browser web. Nilai persentase ini dihitung berdasarkan elemen yang memuat gambar tersebut, bukan ukuran sebenarnya dari gambar itu sendiri. Jika penampung (yang dapat berupa divisi atau elemen HTML lainnya) memiliki lebar 1000 piksel, maka gambar akan ditampilkan pada 500 piksel karena nilainya adalah 50% dari lebar penampung. Jika elemen yang memuatnya memiliki lebar 400 piksel, maka gambar hanya akan ditampilkan pada 200 piksel, karena nilainya adalah 50% dari penampung. Gambar yang dimaksud di sini memiliki ukuran 50% yang sepenuhnya bergantung pada elemen yang memuatnya.
Ingat, desain responsif itu cair. Tata letak dan ukuran akan berubah sebagai ukuran layar/perubahan perangkat. Jika Anda memikirkan hal ini secara fisik, istilah non-web, itu seperti memiliki kotak kardus yang Anda isi dengan bahan kemasan. Jika Anda mengatakan bahwa kotak harus diisi setengah dengan bahan tersebut, jumlah kemasan yang Anda butuhkan akan bervariasi tergantung pada ukuran kotak. Hal yang sama berlaku untuk persentase lebar dalam desain web.
Persentase Berdasarkan Persentase Lainnya
Dalam contoh gambar/wadah, kami menggunakan nilai piksel untuk elemen yang memuatnya untuk menunjukkan bagaimana gambar responsif akan ditampilkan. Pada kenyataannya, elemen yang mengandung juga akan ditetapkan sebagai persentase dan gambar, atau elemen lain, di dalam wadah itu, akan mendapatkan nilainya berdasarkan persentase persentase.
Berikut contoh lain.
Katakanlah Anda memiliki situs web di mana seluruh situs berada dalam divisi dengan kelas "wadah" (praktik desain web yang umum). Di dalam divisi itu ada tiga divisi lain yang nantinya akan Anda gaya untuk ditampilkan sebagai 3 kolom vertikal.
Sekarang, Anda dapat menggunakan CSS untuk mengatur ukuran divisi "wadah" itu menjadi 90%. Dalam contoh ini, divisi container tidak memiliki elemen lain yang mengelilinginya selain body, yang belum kita setel ke nilai spesifik apa pun. Secara default, isi akan ditampilkan sebagai 100% dari jendela browser. Oleh karena itu, persentase pembagian "wadah" akan didasarkan pada ukuran jendela browser. Saat jendela browser itu berubah ukurannya, begitu juga ukuran "wadah" ini. Jadi jika jendela browser lebarnya 2000 piksel, pembagian ini akan ditampilkan pada 1800 piksel. Ini dihitung sebagai 90 persen dari 2000 (2000 x 0,90 = 1800)), yang merupakan ukuran browser.
Jika masing-masing divisi "kol" yang ditemukan dalam "wadah" diatur ke ukuran 30%, maka masing-masing akan memiliki lebar 540 piksel dalam contoh ini. Ini dihitung sebagai 30% dari 1800 piksel yang dirender oleh penampung (1800 x 0,30 = 540). Jika kita mengubah persentase wadah itu, pembagian bagian dalam ini juga akan berubah dalam ukuran yang mereka buat karena mereka bergantung pada elemen wadah itu.
Mari kita asumsikan bahwa jendela browser tetap pada lebar 2000 piksel, tetapi kami mengubah nilai persentase penampung menjadi 80%, bukan 90%. Itu berarti sekarang akan dirender pada lebar 1600 piksel (2000 x 0,80 = 1600). Bahkan jika kita tidak mengubah CSS untuk ukuran 3 divisi "col" kita, dan membiarkannya pada 30%, mereka akan render berbeda sekarang karena elemen yang mengandungnya, yang merupakan konteks ukurannya, memiliki berubah. Ketiga divisi tersebut sekarang akan dirender dengan lebar masing-masing 480 piksel, yaitu 30% dari 1600, atau ukuran wadah 1600 x 0,30 = 480).
Lebih jauh lagi, jika ada gambar di dalam salah satu divisi "col" ini dan gambar itu diukur menggunakan persentase, konteks untuk ukurannya adalah "col" itu sendiri. Karena pembagian "col" itu berubah ukurannya, demikian juga gambar di dalamnya. Jadi jika ukuran browser atau "wadah" berubah, itu akan mempengaruhi tiga divisi "col", yang pada gilirannya akan ubah ukuran gambar di dalam "col." Seperti yang Anda lihat, ini semua terhubung dalam hal ukuran berdasarkan persentase nilai-nilai.
Saat Anda mempertimbangkan bagaimana elemen di dalam halaman web akan dirender ketika nilai persentase digunakan untuk lebarnya, Anda perlu memahami konteks di mana elemen tersebut berada di markup halaman.
Singkatnya
Persentase memainkan peran penting dalam membuat tata letak untuk situs web responsif. Apakah Anda mengukur gambar secara responsif atau menggunakan persentase lebar untuk membuat kisi yang benar-benar cair yang ukurannya relatif satu sama lain, memahami perhitungan ini akan diperlukan untuk mencapai tampilan Anda keinginan.