Beranda » Coding » Panduan untuk Unit Tata Letak Kotak CSS

    Panduan untuk Unit Tata Letak Kotak CSS

    Itu Modul Tata Letak Kotak CSS dikirim bersama unit CSS baru disebut fr satuan. Sesederhana mungkin, fr adalah singkatan kata “pecahan”. Unit baru memungkinkan untuk dengan cepat mengiris grid menjadi kolom atau baris proporsional. Akibatnya, penciptaan grid sepenuhnya responsif dan fleksibel menjadi sangat mudah.

    Ketika unit pecahan diperkenalkan bersama-sama dengan modul Layout Grid, Anda dapat menggunakannya di browser apa pun itu mendukung kisi-kisi CSS. Jika Anda juga ingin mendukung browser yang lebih lama, inilah yang bagus CSS grid polyfill yang memungkinkan Anda untuk menggunakan tidak hanya fr unit tetapi fitur grid lainnya juga.

    Penggunaan dasar

    Pertama, mari kita lihat a grid dasar yang menggunakan unit pecahan. Tata letak di bawah ini membagi ruang menjadi tiga kolom dengan lebar sama dan dua baris yang sama tingginya.

    HTML milik terbuat dari enam divs ditandai dengan .kotak kelas, di dalam a .pembungkus div.

     
    1.
    2.
    3.
    4.
    5.
    6.

    Untuk menggunakan modul Tata Letak Kotak, Anda perlu menambahkan tampilan: kotak; Properti CSS ke pembungkus. Itu grid-template-kolom properti menggunakan fr unit sebagai nilai; itu Rasio dari tiga kolom adalah 1: 1: 1.

    Untuk baris kisi (grid-template-rows properti), saya tidak menggunakan fr Unit, karena hanya masuk akal jika pembungkus memiliki ketinggian tetap. Jika tidak, ini dapat memiliki hasil yang aneh pada beberapa perangkat, namun, meskipun demikian, fr satuan mempertahankan rasio (dan ini sangat besar).

    Itu celah jaringan milik menambahkan kisi 10px di antara kotak. Jika Anda tidak ingin ada celah, hapus saja properti ini.

     .wrapper display: grid; grid-template-kolom: 1fr 1fr 1fr; grid-template-rows: 200px 200px; celah jaringan: 10px;  .box color: white; perataan teks: tengah; ukuran font: 30px; padding: 25px;  

    Perhatikan CSS di atas tidak mengandung beberapa gaya dasar seperti warna latar belakang. Kamu bisa temukan kode lengkap di demo di akhir artikel.

    Ubah rasio

    Tentu saja, Anda tidak bisa hanya menggunakan 1: 1: 1 tetapi rasio apa pun yang Anda inginkan. Di bawah, saya menggunakan 1: 2: 1 pecahan yang juga membagi ruang menjadi tiga kolom tetapi kolom tengah adalah selebar dua kali seperti dua lainnya.

    Saya juga meningkatkan nilai celah jaringan sehingga Anda dapat melihat cara mengubah tata letak. Pada dasarnya, browser mengurangi celah kisi dari lebar viewport (dalam contoh ini, kesenjangan grid bertambah hingga 80px), dan mengiris sisanya sesuai dengan fraksi yang diberikan.

     .wrapper display: grid; grid-template-kolom: 1fr 2fr 1fr; grid-template-rows: 200px 200px; celah jaringan: 40px;  

    Menggabungkan fr dengan unit CSS lainnya

    Kamu bisa menggabungkan itu fr unit dengan unit CSS lainnya demikian juga. Misalnya, dalam contoh di bawah ini, saya menggunakan 60% 1fr 2fr rasio untuk jaringan saya.

    Jadi, bagaimana cara kerjanya? Itu browser menetapkan 60% dari lebar viewport ke kolom pertama. Kemudian, ia membagi sisa ruang menjadi fraksi 1: 2.

    Hal yang sama juga bisa ditulis sebagai 60% 13.33333% 26.66667%. Tapi terus terang, mengapa ada orang yang mau menggunakan format itu? Keuntungan besar dari unit pecahan adalah itu meningkatkan keterbacaan kode. Apalagi itu sepenuhnya akurat, karena format persentase masih bertambah hanya hingga 99,9999%.

     .wrapper display: grid; grid-template-kolom: 60% 1fr 2fr; grid-template-rows: 200px 200px; celah jaringan: 10px;  

    Terlepas dari persentase, Anda juga dapat menggunakan unit CSS lainnya bersama dengan unit pecahan, misalnya pt, px, em, dan rem.

    Tambahkan spasi dengan fr

    Bagaimana jika Anda tidak ingin desain Anda berantakan dan tambahkan spasi ke kotak Anda? Unit fraksi juga memiliki solusi mudah untuk itu.

    Seperti yang Anda lihat, kotak ini memiliki kolom kosong sementara itu masih mempertahankan keenam kotak. Untuk tata letak ini, kita perlu mengiris ruang menjadi empat kolom bukannya tiga. Jadi, kami menggunakan 1fr 1fr 1fr 1fr nilai untuk grid-template-kolom milik.

    Kami menambahkan kolom kosong di dalam kotak-templat-bidang properti, menggunakan notasi titik. Pada dasarnya, properti ini memungkinkan Anda untuk referensi bernama bidang kisi. Dan, Anda dapat memberi nama area kisi dengan area grid properti yang perlu Anda gunakan secara terpisah untuk setiap area.

     .wrapper display: grid; grid-template-kolom: 1fr 1fr 1fr 1fr; grid-template-rows: 200px 200px; celah jaringan: 10px; kotak-templat-area: "kotak-1 kotak-2. kotak-3" "kotak-4 kotak-5. kotak-6";  .box-1 kotak-area: box-1;  .box-2 kotak-area: box-2;  .box-3 kotak-area: box-3;  .box-4 kotak-area: box-4;  .box-5 kotak-area: kotak-5;  .box-6 grid-area: box-6;  

    Area spasi putih tidak harus membentuk kolom, mereka bisa dimana saja di grid.

    Itu ulangi() fungsi

    Anda juga dapat menggunakan fr satuan bersama dengan ulangi() fungsi untuk sebuah sintaksis yang lebih sederhana. , ini tidak perlu jika Anda hanya memiliki kotak sederhana tetapi dapat berguna saat Anda mau mengimplementasikan tata letak yang rumit, misalnya a grid bersarang.

     .wrapper display: grid; grid-template-kolom: repeat (3, 1fr); / * grid-template-kolom: 1fr 1fr 1fr; * / grid-template-rows: 200px; celah jaringan: 10px;  

    Itu ulangi (3, 1fr) sintaksis menghasilkan tata letak yang sama sebagai 1fr 1fr 1fr. Tata letak di bawah ini sama dengan contoh pertama.

    Jika kamu tingkatkan pengganda di dalam ulangi() berfungsi Anda akan memiliki lebih banyak kolom. Contohnya, ulangi (6, 1fr) hasil dalam enam kolom yang sama. Dalam hal ini, semua kotak kami akan berada di baris yang sama, yang berarti cukup menggunakan hanya satu nilai (200px) untuk grid-template-rows milik.

     .wrapper display: grid; grid-template-kolom: repeat (6, 1fr); grid-template-rows: 200px; celah jaringan: 10px;  

    Kamu bisa memakai ulangi() lebih dari sekali. Sebagai contoh, contoh berikut menghasilkan kotak di mana tiga kolom terakhir berada selebar dua kali sebagai tiga yang pertama.

     .wrapper display: grid; grid-template-kolom: repeat (3, 1fr) repeat (3, 2fr); grid-template-rows: 200px; celah jaringan: 10px;  

    Anda juga bisa menggabungkan ulangi() dengan unit CSS lainnya. Misalnya, Anda bisa menggunakan Pengulangan 200px (4, 1fr) 200px sebagai kode yang valid.

    Jika Anda tertarik dengan caranya buat tata letak yang rumit dengan modul CSS Grid, the ulangi() fungsi dan fr unit Rachel Andrew memiliki posting blog yang menarik tentang bagaimana Anda bisa melakukan itu.

    Demo untuk bereksperimen

    Akhirnya, inilah demo yang saya janjikan. Ini menggunakan kode yang sama dengan contoh pertama dalam artikel ini. Garpu, dan lihat apa yang bisa Anda capai dengan fr satuan.