Ekperimen Pertama dengan Flexbox


Awalnya agak susah memahami flex-direction. Setelah beberapa kali trial & error, akhirnya sukses juga. Bagian susahnya adalah awalnya bingung dengan markup dan CSS. Karena flexbox memang benar-benar sebuah modul CSS yang baru.

Biar nanti tidak bingung, akan saya jelaskan sedikit mengenai flexbox.

Bagian utama yang perlu diperhatikan adalah main axis, main start, dan main end. Sifat ketiga elemen ini (bersama dengan 3 elemen cross) benar-benar sangat fleksibel. main axis bisa dari kiri ke kanan, kanan ke kiri, atas ke bawah, atau bawah ke atas.

Saya akan bahas mengenai cross lain kali, kali ini saya fokus ke main.

Berikut demo dari gist yang saya buat. Perhatikan HTML dan konten hasil render.

Play with this gist on SassMeister.

Note: kalau embed tidak terbuka di Firefox, silakan buka di Chrome.

Sedikit penjelasan, cek tab HTML line 9-12 dan line 14-17.

<!-- tab HTML, line 9-12 -->
<div class="row">
  <p class="bg-aqua">flow-direction</p>
  <p class="bg-navy">row</p>
</div>
<!-- tab HTML, line 14-17 -->
<div class="row-reverse">
  <p class="bg-aqua">row-reverse</p>
  <p class="bg-navy">flow-direction</p>
</div>

Sekarang cek tab Result, hasilnya markup di line 14-17 dirender terbalik. Tidak ada yang salah, itu memang benar. Hal itu disebabkan CSS berikut:

/* tab CSS, line 31-34 */
.row-reverse {
  display: flex;
  flex-direction: row-reverse;
}

Sedangkan CSS untuk markup line 9-12:

/* tab CSS, line 26-29 */
.row {
  display: flex;
  flex-direction: row;
}

Perhatikan properti flex-direction, main axis diatur disini dan sifatnya fleksibel. Tergantung kondisi flow container (elemen yang memiliki properti display: flex). Jika display: flow maka di ltr (left to right) flow main axis dari kiri ke kanan. Jika di rtl (right to left), maka flow main axis dari kanan ke kiri.

Bagian paling pentingnya adalah memahami jika flex-direction menggunakan properti yang sifatnya ‘membalik’ posisi elemen. Jika row-reverse atau column-reverse maka elemen disusun dari main end ke main start.

Masih bingung ? Silakan hubungi via Twitter. Eksperimen saya di atas bisa clone di Gist atau langsung mainkan di SassMeister.

Ciao.

Post Lainnya

Android M disebut di Android Code Review

Ada yang pakai android ? Jelly Bean ? Kitkat ? Atau masih ada yang belum bisa move-on dari Gingerbread ? Hahahahaha

Image Compression

Gambar adalah konten kedua terbanyak di web menurut saya. Bahkan gif pun juga termasuk gambar, walaupun bergerak. Dulu ukuran file gambar tidak terlalu diperhatikan. Saya juga dulu dengan sembarangan melakukan upload gambar ke blog tanpa peduli berapa ukurannya. Tapi itu dulu, sekarang sudah beda. Hanya saja masih ada beberapa website yang belum melakukan compression terhadap konten gambar yang mereka punya. Padahal seharusnya mereka melakukannya agar web mereka cepat dan tidak terlalu banyak memakai kuota data.

Dear Blogger, Mari Tinggalkan Blogger

Yar, bantu setting blog aku dong. Aku pakai Blogger. Punya Google kan jadi pasti bagus layanannya.

Komentar

Komentar akan tampil setelah diterima.