2 poin oleh GN⁺ 2025-01-06 | 1 komentar | Bagikan ke WhatsApp
  • CSS Flexbox Playground adalah alat pembelajaran untuk melihat perubahan tata letak sambil mengubah properti Flexbox secara real-time
  • Dengan menyesuaikan kontrol, Anda bisa langsung membandingkan dampak pengaturan flex terhadap susunan tampilan
  • Contoh dasar dimulai dengan kombinasi display: flex, flex-direction: row, justify-content: space-around, align-items: flex-start, flex-wrap: nowrap
  • Item 1 hingga 5 di layar bergerak sesuai perubahan pengaturan sehingga hasil tata letak mudah dilihat secara visual
  • Kode CSS yang dihasilkan bisa disalin, sehingga pengaturan yang sudah diuji mudah dipindahkan ke kode nyata

Alat eksperimen Flexbox real-time

  • CSS Flexbox Playground adalah alat interaktif untuk mempelajari dan bereksperimen dengan properti Flexbox
  • Saat kontrol disesuaikan, perubahan tata letak diterapkan secara real-time
  • Kode CSS yang dihasilkan dari eksperimen bisa disalin

Pengaturan contoh dasar

  • Contoh pengaturan .container menggunakan CSS berikut
.container {
  display: flex;
  flex-direction: row;
  justify-content: space-around;
  align-items: flex-start;
  flex-wrap: nowrap;
}
  • Item 1, 2, 3, 4, 5 ditampilkan di layar untuk melihat hasil susunan Flexbox

1 komentar

 
GN⁺ 2025-01-06
Pendapat Hacker News
  • Flexbox itu sendiri sederhana dan masuk akal, tetapi nama properti dan nilainya ditentukan ala komite sehingga tidak intuitif
    Saat mencoba mengingat mana yang mana antara justify-content dan align-items, akhirnya menyerah dan mengubah ini-itu sampai berhasil

    • Akhirnya setiap kali membuka panduan Flexbox CSS-Tricks https://css-tricks.com/snippets/css/a-guide-to-flexbox/
      Ada juga panduan serupa untuk Grid, dan itu juga sangat bagus
    • Di Flexbox, sulit sekali menghafal pengaturan yang diperlukan untuk kotak di dalam kotak, apakah konten akan mengisi kotak atau kotak akan membungkus konten
      Ini terutama penting di SPA ketika kotak-kotak harus mengisi layar tanpa meluap. Pada akhirnya, menaruh pengaturan yang sama sekali tidak intuitif seperti min-width: 0 di sana-sini, lalu mengutak-atik beberapa hal lagi, biasanya entah bagaimana berhasil
      Rasanya bisa dibuat beberapa kelas CSS yang mencakup semua ini, tetapi belum menemukan solusi yang cocok untuk semua kasus
    • Di inspector CSS Chrome, jika menekan ikon di sebelah aturan display: flex, berbagai properti Flexbox divisualisasikan sebagai ikon dan bisa langsung diatur dengan mengkliknya
      Praktis setiap halaman menjadi tempat eksperimen
    • Menarik bahwa Tailwind justru membuat ini lebih membingungkan
      justify-content: center menjadi justify-center, sedangkan align-items: center menjadi items-center; tidak tahu kenapa dibuat begitu
    • justify-content seharusnya disebut main-axis, dan align-items seharusnya disebut cross-axis
      Begitu memahami ini, seluruh Flexbox jadi mudah
  • Sudah banyak disebut, tetapi saya selalu merekomendasikan Flexbox Froggy https://flexboxfroggy.com/ dan orang lain juga cepat memahaminya
    Untuk belajar CSS Grid, https://cssgridgarden.com/ juga bagus

    • Saya suka gamifikasi di cssgridgarden
      Mirip dengan https://www.codemonkey.com/ yang lebih dekat untuk anak-anak
    • Ada situs favorit Flexbox yang sangat mirip dengan OP, yaitu https://flexbox.tech/
      Untuk membuat kode Bootstrap, https://build.layoutit.com/ berguna, dan untuk CSS Grid ada https://grid.layoutit.com/. Sayangnya yang pertama hanya mendukung sampai Bootstrap 4, bukan Bootstrap 5
    • Saya pernah mencoba flexboxfroggy; konsepnya bagus dan implementasinya juga baik, tetapi tidak adanya autocomplete sintaks cukup mengganggu
  • Sangat merekomendasikan panduan Josh https://www.joshwcomeau.com/css/interactive-guide-to-flexbox/
    Panduan itu membahas jebakan dan tips yang lebih lanjut seperti flex-basis, margin otomatis, dan min-width secara rinci

    • Itu termasuk yang terbaik yang pernah saya baca
      Saya pikir saya cukup memahami Flexbox dan komponen Tailwind CSS, tetapi artikel ini benar-benar menjawab dahaga akan landasan teoretisnya
  • Ini playground yang bagus
    Beberapa tahun lalu saya membuat panduan interaktif dengan playground serupa di bagian akhir: https://lik.ai/guides/an-interactive-guide-to-flexbox/
    Kadang berguna saat ingin menyegarkan ingatan

  • Sekarang sudah 2025, sudah lewat 2 tahun dan 3 tutorial, tetapi saya masih belum bisa memakai Flexbox dengan benar
    https://flexboxfroggy.com/ juga tidak banyak membantu

    • Setelah memakai Flexbox selama beberapa tahun, saya sadar Flexbox mirip dengan mencolokkan USB-A
      justify dan align selalu terbalik pada percobaan pertama
    • Saya tidak tahu kenapa ini begitu sulit diingat
      Berbagai hal lain, termasuk layout CSS float, bisa saya ingat selama bertahun-tahun, tetapi kalau Flexbox tidak dipakai beberapa bulan, 80% langsung lupa dan harus membaca dari awal lagi serta menghabiskan waktu di playground
      Masalahnya nama propertinya terlalu banyak, dan banyak di antaranya tidak intuitif atau terasa seperti nama yang salah. Rasanya bahkan kalau diberi nama simbol satu-dua huruf pun hasilnya akan mirip
    • Saya tahu flexboxfroggy, tetapi saya lebih suka belajar sambil “bermain” daripada membaca dan menulis, jadi situs itu tidak berguna bagi saya
      Semoga alat ini membantu, dan kalau ada yang kurang, beri tahu saya
  • Mengapa properti ini dinamai justify-content dan align-items?
    Bukankah main-axis-arrangement dan cross-axis-alignment lebih masuk akal?

    • Mungkin ada penjelasannya, tetapi secara umum banyak properti CSS yang membingungkan dan tidak intuitif
      Begitu juga dengan color, text-align, position: absolute dan position: fixed; bahkan absolute pun secara teknis masih relatif
    • Dari sisi diskusi, nama ini cocok untuk Grid maupun Flexbox, dan juga selaras dengan konvensi justify-items serta justify-self, jadi memang konsisten
      Meski begitu, tetap saja masih membingungkan jika dibandingkan dengan align-content
    • Singkatan grid-template yang menulis sumbu y lebih dulu juga membingungkan: y1 / x1 / y2 / x2
      Ditambah lagi tidak dimulai dari 0, jadi selalu terlupa
    • Entah apakah kemampuan pencarian Google sudah merosot karena terlalu fokus membuat LLM membocorkan spoiler Encanto 2, atau memang wajar kalau heran plugin Tailwind seperti ini belum ada
      Plugin alias Tailwind yang memetakan cross-axis-center ke align-items: center, dan main-axis-between ke justify-content: space-between, seharusnya bisa dibuat dengan cepat
    • Saya tidak bingung karena memakai mnemonik “di bahasa saya, men-justify teks itu arah horizontal”
      Tentu bisa diubah, tetapi perilaku default Flexbox tercakup oleh mnemonik ini
  • Saat belajar Flexbox, saya membuat cheatsheet agar mudah mencari propertinya
    Mungkin juga berguna untuk orang lain: https://darekkay.com/flexbox-cheatsheet/

    • Bagus karena efeknya langsung terlihat tanpa perlu memilih apa pun, dan saya juga suka adanya tautan MDN
  • Ini bagus sebagai cheatsheet visual cepat, tetapi pada akhirnya menurut saya harus dipakai di berbagai bagian proyek agar benar-benar terbiasa
    Sintaksnya umumnya cukup menjelaskan dirinya sendiri, tetapi row dan column adalah pengecualian
    Saya tidak pernah terlalu tersesat dengan sebagian besar Flexbox atau Grid, tetapi terlihat bahwa banyak orang sering bingung. Memahami box model dan memakai alat pengembang Firefox sangat membantu saat mempelajari model Flexbox. Alat itu memvisualisasikan container dengan cukup baik, dan sekarang alat pengembang Chrome sepertinya juga sudah melakukan hal serupa
    flexboxfroggy dan cssgridgarden juga berguna untuk latihan. Meski begitu, saya tetap membuka cheatsheet CSS-Tricks setiap kali ingin melihat sintaks, dan saya tidak pernah bisa menebak benar pada percobaan pertama apakah harus row atau column

    • Chrome/Edge punya fitur bagus yang sepertinya tidak ada di Firefox
      Bisa dengan cepat men-toggle peralihan mode Flex https://imgur.com/a/17iy1eN
  • Alat ini terlihat terlalu terbatas karena hanya mencakup 4 properti container
    Properti item anak yang cukup penting di Flexbox benar-benar tidak ada

  • Akan menyenangkan jika ada kumpulan tantangan menarik untuk berlatih layout CSS
    Akan bagus juga jika ada pembahasan dan penjelasan yang ditulis dengan baik, serta tantangan debugging seperti “mengapa potongan kode ini tidak menghasilkan layout yang diinginkan”
    ChatGPT cukup membantu untuk debugging masalah CSS. Tidak selalu benar, tetapi umumnya memberi arah yang tepat. Meski begitu, saya ingin memahami lebih dalam bagaimana CSS benar-benar bekerja. Saya sudah membaca buku dan tutorial, dan tahu bahwa pada akhirnya ini adalah sekumpulan aturan, tetapi menerapkannya dengan tepat itu sulit

    • Saya juga memakai Claude dengan cara serupa
      Saya sering memintanya memperbaiki CSS dan menuliskannya ulang agar tampilannya sesuai keinginan, dan itu jauh lebih cepat daripada membongkar-bongkar dokumentasi