Langsung ke konten utama

Penggunaan Flexbox di CSS3

Tulisan ini bulum sepenuhnya selesai dan lengkap, namun akan terus diupdate jika penulis memiliki waktu luang.

Pada postingan kali ini saya akan membahas cara penggunaan Flexbox Di CSS3. Sebelum memulai ada baiknya Anda memahami terlebih dahulu apa itu Flexbox.

Apa Itu Flexbox ?

Flexbox (Flexible Layout) merupakan salah satu fitur baru di CSS3 yang bertujuan untuk menyediakan cara yang lebih efisien dalam mengatur tata letak komponen pada suatu dokumen html dengan menyelaraskan ruang antar item dalam suatu elemen meskipu ukurannya tidak diketahui.

Poin utama di balik Flexible Layout adalah untuk memberikan kemampuan untuk mengubah lebar / tinggi (dan urutan) item untuk mengisi ruang yang tersedia (sebagian besar untuk mengakomodasi semua jenis layar dan ukuran layar). Sebuah wadah fleksibel memperluas item untuk mengisi ruang kosong yang tersedia, atau mengecilkan mereka untuk mencegah overflow/melewati batas tinggi dan lebar dari wadah.

Yang paling penting, Flexbox layout adalah layout dengan arah-agnostik yang bertentangan dengan layout yang teratur (block yang berbasis vertikal dan inline yang berbasis horizontal). Sementara block dan inline layout bekerja dengan baik untuk halaman, namun layout ini tidak memiliki fleksibilitas untuk mendukung aplikasi yang besar atau kompleks (terutama ketika perubahan orientasi, perubahan ukuran, peregangan, menyusutan, dll).

Implementasi Flexbox Layout

Berikut ini adalah contoh dari katalog yang saya ambil dari w3.org di mana setiap item memiliki judul, foto, deskripsi, dan tombol pembelian. Tujuan desainernya adalah bahwa setiap entri memiliki ukuran keseluruhan yang sama, foto berada di atas teks, dan tombol pembelian selaras di bagian bawah, terlepas dari panjang deskripsi item. Flex layout membuat banyak aspek desain ini menjadi mudah:
  • Katalog menggunakan Flexbox layout untuk meletakkan baris item horizontal, dan untuk memastikan bahwa item dalam baris semua sama-tingginya. Setiap entri kemudian memiliki wadah kolom flex sendiri, dan mengatur isinya secara vertikal.
  • Dalam setiap entri, isi dokumen sumber disusun secara logis dengan judul pertama, diikuti oleh deskripsi dan foto. Ini menyediakan susunan yang masuk akal untuk speech rendering dan di browser non-CSS. Untuk presentasi visual yang lebih menarik, namun, agar digunakan untuk menarik gambar ke atas kemudian di isi ke atas, dan align-self digunakan untuk memperbaiki posisi horizontal.
  • Margin auto atas tombol pembelian memaksanya ke bawah dalam setiap kotak entri, terlepas dari ketinggian deskripsi item ini.

#deals {
display: flex; /* Flex layout so items have equal height */
flex-flow: row wrap; /* Allow items to wrap into multiple lines */
}
.sale-item {
display: flex; /* Lay out each item using flex layout */
flex-flow: column; /* Lay out item’s contents vertically */
flex-basis: 50%; /* Lay out item's width is 50% relative to parent */

}
.sale-item > img {
order: -1; /* Shift image before other content (in visual order) */
align-self: center; /* Center the image cross-wise (horizontally) */
}
.sale-item > button {
margin-top: auto; /* Auto top margin pushes button to bottom */
}

<section id="deals">
<section class="sale-item">
<h1>Computer Starter Kit</h1>
<p>This is the best computer money can buy, if you don’t have much money.</p>
<ul>
<li>Computer</li>
<li>Monitor</li>
<li>Keyboard</li>
<li>Mouse</li>
</ul>
<img src="https://www.w3.org/TR/css-flexbox-1/images/computer.jpg"
alt="You get: a white computer with matching peripherals.">
<button>BUY NOW</button>
</section>
<section class="sale-item">
<h1>Printer</h1>
<p>Only capable of printing ASCII art.</p>
<ul>
<li>Paper and ink not included.</li>
</ul>
<img src="https://www.w3.org/TR/css-flexbox-1/images/printer.png"
alt="You get: a white computer with matching peripherals." />
<button>BUY NOW</button>
</section>
</section>


Output :

Computer Starter Kit

This is the best computer money can buy, if you don’t have much money.

  • Computer
  • Monitor
  • Keyboard
  • Mouse
You get: a white computer with matching peripherals.

Printer

Only capable of printing ASCII art.

  • Paper and ink not included.
You get: a white computer with matching peripherals.



Karena flexbox adalah seluruh modul dan bukan satu properti, hal ini akan melibatkan banyak hal termasuk seluruh set properti. Beberapa dari mereka yang dimaksudkan untuk mengatur pada container/wadah (elemen induk, yang dikenal sebagai "wadah fleksibel") sedangkan yang lain dimaksudkan untuk mengatur child/anak dari container/wadah (item fleksibel).

Jika layout yang teratur didasarkan pada kedua blok dan aliran arah inline, layout fleksibel didasarkan pada flex-flow. Silakan lihat di gambar spesifikasi berikut, yang menjelaskan gagasan utama di balik layout fleksibel.
Pada dasarnya, item akan ditata mengikuti poros utama (dari main-start ke main-end) atau sumbu silang (dari cross-start ke cross-end).
  • Sumbu Utama - Sumbu utama(Main Axis) container/wadah fleksibel adalah sumbu utama bersama dimana item fleksibel diletakkan. Hati-hati, arahnya tidak selalu horizontal, tergantung pada properti flex-flow.
  • main-start | main-end - Item fleksibel ditempatkan dalam container/wadah mulai dari main-start ke main-end
  • .
  • Ukuran Utama - lebar atau tinggi Item fleksibel, yang ada dalam dimensi utama, adalah ukuran utama item. Properti ukuran utama flex item adalah properti width atau height, yang ada dalam dimensi utama.
  • Sumbu Cross - Sumbu tegak lurus dengan sumbu utama disebut sumbu cross. arahnya tergantung pada arah sumbu utama.
  • cross-start | cross-end - garis Flex dipenuhi dengan item-item dan ditempatkan ke dalam container/wadah dimulai pada sisi cross-start container/wadah fleksibel menuju ke sisi cross-end.
  • Ukuran Cross - Lebar atau tinggi dari item flex, dalam dimensi Cross, adalah ukuran cross item. Ukuran properti cross dari lebar atau tinggi yang ada di dimensi cross.

Properti Untuk elemen parent

(flex container)
display
Ini mendefinisikan sebuah wadah fleksibel; inline atau blok tergantung pada nilai yang diberikan.
.container {
display: flex; /* or inline-flex */
}
Perlu dicatat bahwa kolom CSS tidak berpengaruh pada container/wadah fleksibel.
flex-direction
Properti ini menetapkan sumbu utama, sehingga menentukan arah item fleksibel ditempatkan dalam wadah fleksibel. Flexbox adalah (selain dari pembungkus opsional) konsep layout satu arah. Anggaplah item fleksibel sebagai tata letak utama baik dalam baris horizontal atau kolom vertikal.
.container {
flex-direction: row | row-reverse | column | column-reverse;
}
  • row (default): kiri ke kanan dalam ltr; kanan ke kiri dalam rtl
  • row-reverse: kanan ke kiri dalam ltr; kiri ke kanan dalam rtl
  • column: sama seperti row namun dari atas ke bawah
  • column-reverse: sama seperti row-reverse namun dari bawah ke atas



Komentar

Postingan populer dari blog ini

Menampilkan Gambar Pada PictureBox Di Visual Basic .Net

Pada kesempatan kali ini saya akan menunjukkan bagaimana cara menampilkan gambar pada PictureBox di Visual Basic .NET. Terdapat beberapa cara untuk menampilkan gambar pada PictureBox dan disini saya akan memberikan beberapa cara yang saya ketahui serta kelebihan dan kekurangan dalam menggunakan cara tersebut. Pertama-tama buatlah sebuah project baru dengan memilih File > New > New Project . Kemudian Drag And Drop PictureBox dari jendela Toolbox ke form. Menampilkan Gambar Dengan Cara Standar Yang saya maksud dengan cara standar disini adalah cara yang biasa dilakukan oleh programmer atau developer dan yang dianjurkan oleh MSDN pada artikel How to: Set Pictures at Run Time dan  How to: Load a Picture Using the Designer Kelebihan Mudah diimplementasikan terutama bagi programmer/developer pemula. Kekurangan Ada kemungkinan gambar yang diload/ditampilkan ke PictureBox akan dilock/dikunci untuk digunakan oleh user yang mengakses gambar tersebut, sehingga user lain tidak dapat men...

Membuat Situs Traffic Exchange

Membuat Situs Traffic Exchange Pada saat ini situs-situs traffic exchange semakin marak di dunia internet. Karena semakin berkembangya teknologi sehingga membuat hal lain pun ikut berkembang. Situs Traffic Exchange ini misalnya, saat ini banyak situs-situs traffic exchange yang tidak hanya menyediakan layana traffic exchange namun sekarang  telah ada situs traffic exchange yang menawarkan Social Exchange seperti twitter followers, facebook like, google+ circle dan lain sebagainya. Dan bahkan ada juga situs traffic exchange yang menyediakan layanan SEO seperti Directory Submission.  Pada postingan ini saya tidak akan berbicara banyak kepada Anda, karena saya tahu saat Anda masuk ke halaman ini berarti Anda sedang mencari cara Membuat Situs Traffic Exchange. Mungkin Anda sampai ke halaman ini karna mungkin hanya sedikit blog/website lain yang membahas tentang hal ini. Dan mungkin niat Anda adalah Membuat Situs Traffic Exchange secara gratis sehingga Anda tidak perlu mengeluarkan...

20 Macam-Macam Troubleshooting Komputer/Laptop Dan Cara Mengatasinya

Saya akan membahas tentang 20 Macam-Macam Troubleshooting Komputer/Laptop Dan Cara Mengatasinya . Pada pembahasan ini saya akan memberikan solusi atau pertolongan pertama yang bisa anda lakukan pada PC anda,dalam mengenali permasalahan – permasalahan yang mungkin terjadi pada komputer. Baca juga artikel bermanfaat seputar  Cara Merawat Komputer Secara Hardware Dan Software Yang Baik Agar Terhindar dari Kerusakan Dengan mengenali Macam  Macam Troubleshooting Pada PC  dan cara mengatasinya,mungkin anda dapat berusaha mengerjakan sendiri permasalah-permasalhan sederhana yang terjadi pada komputer anda atau mengetahui permasalahannya sebelum membawa ke tempat service yang mungkin membutuhkan biaya banyak. Pengertian Troubleshooting  Komputer Troubleshooting adalah  suatu istilah yang digunakan jika terjadi suatu masalah pada perangkat komputer. Troubleshooting sendiri terbagi menjadi 2 yaitu,troubleshooting pada hardware dan software. Troubleshooting Hardware.Jika ...