em atau rem


Sebelumnya, gue cuman tau pixel karena memang dulu pasar web untuk mobile memang tidak seganas sekarang. Karena sekarang pasar untuk platform mobile (smartphone, f ck u gre n r b ts), jadi penggunaan pixel untuk pengaturan ukuran sedikit kurang fleksibel. Ada 2 biji bocah yang lumayan bikin bingung, yaitu si em dan rem. Kali ini kita belajar dikit, biar kita bisa moveon dari pixel.

em

Relative sizing. Keren banget istilahnya. Satuan em mungkin memang dianjurkan untuk readability yang lebih bagus, tapi penerapannya susah. Kalau di desain kita memang jarang terdapat elemen yang di nesting, mungkin tidak terlalu susah. Tapi kalo nesting, sedikit ribet. Buat yang belum ngeh, begini maksud gue nesting:

<p>...<strong>nesting</strong>...</p>
<pre>
<code>
* {
  display: flex;
}
</code>
</pre>

Di masa-masa sekarang, hal ini lumrah. Misalnya aja Bootstrap:

<div class="container">
  <div class="row">
    <div class="col-lg-6 col-md-8 col-sm-12">
      <p>bla bla bla</p>
    </div>
  </div>
</div>

Disini si em bisa jadi masalah, em kerjanya seperti mencari di parent terdekat dan kemudian mengambil nilai ukuran font yang bisa didapatkannya. Contoh:

body { font-size:62.5%; }
h1 { font-size: 2.4em; } // 24px
p  { font-size: 1.4em; } // 14px

dengan markup:

<body>
  <h1>Titel</h1>
  <p>Bla bla bla</p>
</body>

Gampang. Simpel. Kalau memang kasusnya seperti itu. Bagaimana kalau markup seperti ini:

<body>
  <h1>Titel</h1>
  <p>Tekan <kbd>Ctrl+Alt+T</kbd> lalu ketik di terminal <code>$ sudo apt-get update</code>. Kalau mau lebih cepat, langsung gabungkan 3 <em>command</em> berikut: </p>
  <pre>
  <code>
  $ sudo apt-get update && sudo apt-get upgrade && sudo apt-get dist-upgrade
  </code>
  </pre>
</body>

Bisa styling di kbd, code, em, atau di elemen code yang berada di dalam elemen pre ? Menurut gue susu susah. Karena setiap elemen yang berada di dalam tag <p> akan selalu menggunakan ukuran font yang kita deklarasikan di elemen tersebut. Singkatnya, em akan selalu meng-inherit ukuran di parent.

Lalu gimana? Pixel kurang fleksibel dan penerapan em agak susah.

Makanya, rem dilahirkan.

Jreeeeeeeeeeng !!!

Anggap aja ada karnaval lewat dulu.

rem

rem, root em, akan selalu melakukan inherit terhadap root elemen, yaitu <html>. Kebanyakan di css, html akan di set menggunakan font-size: 62.5%; jadi setelahnya tetap sama, 1rem sama dengan 10px. Begini misalnya:

html { font-size: 62.5%; }
body { font-size: 1.4rem; } // 14px
h1 { font-size: 2.5rem; }   // 25px

Mungkin membingungkan, terlihat sama seperti menggunakan em, tapi dengan menggunakan rem, kita tidak perlu membongkar css kita hanya untuk mengubah ukuran font, tambah aja nilai persen di html lalu cek.

Gampang. Simpel.

Colophon

Satu-satunya sumber yang menjelaskan dengan bahasa indonesia yang mudah dipahami: praktisiweb.com/font-sizing-dengan-rem/ Link down :cry:. Sumber luar yang lumayan komplit penjelasannya bisa baca disini.

note: awalnya berusaha mengingat arti inherit tapi gagal. Akhirnya ke Google Translate dan artinya adalah…

Arti inherit

Aneh

Post Lainnya

Pemasangan Ruby dan Jekyll

Seperti yang gue bilang di post sebelumnya, bahwa gue akan memberikan tutorial tentang cara install Ruby dan Jekyll. Sebelum kita melangkah ke perjalanan yang lebih jauh, tutorial gue lebih cocok sama yang menggunakan Linux, Ubuntu lebih tepatnya, atau Lubuntu lebih tepatnya lagi. Untuk pengguna Mac dan sejenisnya, mungkin kalian bisa menggunakan Homebrew tapi cara pemasangannya ga bisa gue jelasin karena gue ga punya Mac. Untuk pengguna Windows dan sejenisnya, ke Google aja ya.

Oh Firefox

Sebelum mulai, ada beberapa hal yang harus kalian perhatikan sebelum baca lebih lanjut, diantaranya: Saya akan melakukan tes di 2 browser yang penggunanya lumayan banyak, Google Chrome dan Mozilla Firefox. Versi Chrome: 44.0.2403.61 Beta. Versi Firefox: Developer Edition 40.0a2 (2015-06-03). Kalau kalian menggunakan versi yang stable, mungkin akan beda. Saya adalah fans Mozilla, karena mereka pada dasarnya bukan perusahaan. Sejak awal 2012 saya beralih ke Chrome karena Firefox mulai agak lambat saat itu. Tes yang dilakukan adalah tes dukungan terhadap HTML5 dan CSS3. Tes dilakukan dengan mengunjungi HTML5test dan CSS3test

Bermain dengan function di Sass

Awalnya ingin mendalami lebih jauh mengenai fuction di Sass. Akhirnya malah mendarat di The Sass Way. Di artikel yang berjudul Using pure Sass functions to make reusable logic more useful. Lumayan menarik. Makanya aku post. Nanti kalau lupa, udah ada dokumennya jadi ga ribet carinya.

Komentar

Komentar akan tampil setelah diterima.