Hyde untuk menyesuaikan grid untuk druid hilera.

Halo semuanya. Februari-Maret 2017 diingat bagi banyak orang yang bekerja dengan HTML dan CSS fakta bahwa sebagian besar browser telah merilis pembaruan, di antaranya adalah dan pembaruan untuk CSS. Sekarang Anda dapat menggunakan spesifikasi Layout Grid CSS tanpa bendera di browser berikut: Firefox 52, Chrome 57, Opera 44, Safari 10.1. Manakah dari browser yang tinggal di belakang, saya pikir Anda menebak. Lebih tepatnya, ini mendukung versi lama spesifikasi. Tetapi pengembang browser ini melakukan segala yang mungkin untuk mengimplementasikan spesifikasi baru. Pengenalan dukungan untuk Spesifikasi Layout Grid CSS baru adalah peristiwa paling penting selama lima tahun terakhir. Spesifikasi ini akan berubah sepenuhnya untuk pengembangan antarmuka pengguna. Dan itu keren.

Saya menggunakan tata letak kotak yang fleksibel

Banyak keajaiban: "Berhenti, saya menggunakan FlexBox, mengapa saya masih memiliki beberapa grid?". Pertanyaannya lebih dari yang tepat. CSS Grid tidak akan menggantikan FlexBox dan sebaliknya. Perbedaan pertama adalah bahwa kotak Flex hanya berfungsi dalam satu dimensi. Dari sini mengikuti bahwa kita dapat menempatkan elemen flex hanya di sepanjang sumbu utama atau sepanjang sumbu transversal. Kami tidak dapat langsung melenturkan elemen pada beberapa sumbu. Grid CSS pada gilirannya, memungkinkan kita untuk bekerja dengan tanda dalam ruang dua dimensi dan menyelaraskan konten dalam kedua pengukuran. Saya suka cara menjelaskan tab atkins perbedaan ini.

Salah satu masalah terbesar dalam pengembangan antarmuka pengguna adalah bahwa ketika mengubah desain, fungsional atau perilaku blok apa pun, perlu mengubah markupnya (dalam banyak kasus). CSS Grid memungkinkan Anda untuk mengubah pengaturan elemen grid tanpa mengubah HTML itu sendiri. Di bawah ini adalah contoh markup sederhana pada FlexBox dan CSS Grid.

Istilah besar



Sebelum melanjutkan dengan CSS Grid, Anda harus berurusan dengan istilah utama. Berdasarkan ketentuan ini, seluruh spesifikasi dibangun.

Wadah grid. - Ini adalah seperangkat garis grid horizontal dan vertikal yang membagi ruang grid wadah pada area grid di mana elemen grid dapat ditempatkan. Di dalam wadah grid ada dua set garis grad: seseorang mendefinisikan poros kolom, yang lain menentukan sumbu string.

Garis grid. - Ini wadah grid pemisah horizontal dan vertikal. Garis-garis ini ada di kedua sisi kolom atau string. Penulis dapat mengatur nama atau indeks numerik untuk item ini yang dapat digunakan lebih lanjut dalam gaya. Penomoran dimulai dengan satu unit. Nuansa penting, elemen ini rentan terhadap mode penulisan yang digunakan pada sumber daya Anda. Misalnya, Anda menggunakan bahasa Arab atau bahasa lain yang mode penulisan di sebelah kanan kiri, maka penomoran garis akan dimulai di sisi kanan.

Jalur Grid. - Ini adalah ruang antara dua garis grid yang berdekatan, vertikal atau horizontal.

Sel grid. - Ini adalah wadah satuan satuan terkecil yang tidak terpisahkan di mana Anda dapat merujuk pada posisi elemen grid. Ini terbentuk di persimpangan string grid dan kolom grid.

Area grid. - Ini adalah ruang di dalam wadah grid ke mana satu atau lebih elemen grid dapat ditempatkan. Elemen ini dapat terdiri dari satu atau lebih sel kisi.

Setiap elemen terkait erat satu sama lain dan bertanggung jawab atas bagian tertentu dari wadah grid.

Layout Grid CSS pertama

Kami berurusan dengan istilah utama. Sudah waktunya untuk membuat tata letak grid pertama kami. Tidak ada yang rumit, tata letak sederhana tiga baris pada tiga kolom untuk menangani dasar-dasarnya. Di bawah ini Anda dapat melihat contoh.
Dalam perwujudan pertama, kami membuat tiga kolom dengan ukuran 150px 1fr 150px dan tiga baris dimensi 50px otomatis 50px. Perhatikan nilai-nilai berikut: 1fr, otomatis. Mari kita cari tahu nilai-nilai apa.

1FR adalah unit khusus yang diperkenalkan dalam spesifikasi ini. Ini tidak diukur dalam beberapa unit pengukuran tertentu (PX, EM, REM, dll.) Dari sini mengikuti bahwa kita tidak dapat menggunakannya dengan fungsi Calc (). Unit pengukuran ini mungkin tidak kurang dari satu unit, dan juga tidak dapat mengambil nilai negatif. Itu dihitung setelah semua nilai lain selain FR dihitung.

Otomatis - berperilaku cukup menarik dan menggunakan algoritma Sizzy untuk menghitung ukuran. Dalam beberapa situasi mungkin tampaknya unit pengukuran ini berfungsi persis seperti fr. Tapi itu tidak. Perbedaan utama, otomatis akan dihitung sebelum FR dihitung. Anda perlu mengingat ini. Anda dapat melihat perilaku ini dari opsi kedua dan ketiga dari contoh, yang diberikan di atas.

Aturan berikut digunakan untuk menandai kolom dan baris:

Template-template-kolom: 150px 1FR otomatis; Grid-template-baris: 50px auto 50px;
Bentuk rekaman yang disingkat terlihat seperti ini:

Template Grid: 50px Auto 50px / 150px 1FR Otomatis;

Template khas pada Grid'ah

Mari kita buat template sederhana dengan siapa kita semua akrab. Tidak ada yang rumit, templat akan terdiri dari tag berikut: header, nav, samping, artikel, footer. Mayoritas sumber daya internet yang luar biasa menggunakan templat ini. Ketahui, bahkan dalam template sederhana seperti itu masalah berikut diamati: "Saya seorang desainer, saya sangat menginginkannya. Saya seorang pengembang, saya tidak bisa melakukan itu. " Dengan munculnya tata letak Grid CSS, masalah serupa harus berjuang untuk nol.
Dalam contoh ini, kami berkenalan dengan beberapa sifat tata letak grid CSS. Template-template pertama. Ini digunakan untuk membuat wadah area grid bernama yang tidak terkait dengan elemen grid tertentu. Sintaks sangat nyaman, kami segera melihat pola mana yang akan berada pada output. Properti kedua dari area Grid. Ini digunakan untuk tingkat wadah grid. Menunjukkan area yang bernama untuk menempatkan elemen grid.

Mari kita pertimbangkan versi pertama dari Area Template Grid:

Template-Template-Area: "Header Header" "NAV Main" "Footer."
Satu atau lebih karakter berturut-turut. (Poin) sangat penting. Jika simbol ini digunakan, maka browser akan didedikasikan sebagai token nol, yang pada gilirannya berarti sebagai berikut: Di tempatnya, area wadah grid bernama tidak akan dibuat dan elemen grid tidak dapat ditempatkan di dalamnya.

Jika kami tidak menentukan properti area grid untuk beberapa jenis elemen anak, browser akan secara otomatis mendistribusikan elemen-elemen tersebut. Perilaku seperti itu dapat dilihat dari varian terakhir dari contoh di atas.

Layout Grid CSS adalah sistem tata letak paling kuat mulai saat ini tersedia di CSS. Ini adalah sistem dua dimensi yang dapat memproses kolom dan string, sebagai lawan dari Flexbox, yang sebagian besar merupakan sistem satu dimensi. Ketika bekerja dengan jaringan CSS, Anda menerapkan aturan CSS dan elemen induk (yang menjadi wadah kisi) dan elemen anak (yang menjadi elemen grid).

pengantar

Layout Grid CSS (alias "Grid") adalah sistem tata letak dua dimensi berdasarkan grid, yang tujuannya adalah untuk sepenuhnya mengubah metode merancang antarmuka pengguna berdasarkan grid. CSS selalu digunakan untuk menandai halaman web, tetapi tidak pernah melakukan ini dengan baik. Pada awalnya kami menggunakan tabel, kemudian streaming (floats), positioning dan blok inline (inline-block), tetapi semua metode ini pada dasarnya hanya peretas dan lebih rendah fungsi penting (misalnya, penyelarasan vertikal). FlexBox membantu, tetapi dirancang untuk tata letak satu dimensi yang lebih sederhana, dan bukan untuk dua dimensi kompleks (pada kenyataannya, flexbox dan grid bekerja dengan sangat baik bersama). CSS Grid "S adalah modul pertama yang dibuat khusus untuk menyelesaikan masalah tata letak, yang sejauh ini kami selesaikan dengan bantuan peretasan saat membuat situs. Ada dua hal utama yang menginspirasi saya untuk membuat panduan ini. Pertama, ini adalah buku yang luar biasa Dari Rachel Andrew "bersiap untuk tata letak grid CSS. Ini adalah pengantar rinci dan dapat dimengerti dalam grid CSS ", yang merupakan dasar untuk semua artikel ini. Saya sangat merekomendasikan membeli dan membacanya. Hal kedua yang menginspirasi saya adalah panduan lengkap untuk Flexbox (panduan lengkap Flexbox) dari Chris Coyer" S, yang telah menjadi sumber daya utama saya di FlexBox. Dia membantu sejumlah besar orang, tentang ini bersaksi fakta bahwa ini adalah hasil terbaik dalam hasil pencarian saat meminta "FlexBox" di Google. Apakah Anda akan melihat banyak seperti artikel ini dan milik saya, karena mengapa tidak mencuri dari yang terbaik?

Tujuan saya dalam manual ini adalah kesempatan untuk menyajikan konsep OB Grid CSS karena mereka ada dalam versi terbaru dari spesifikasi. Oleh karena itu, saya tidak akan mencakup sintaks yang sudah ketinggalan zaman untuk IE dan saya akan melakukan segala yang mungkin terjadi sehingga panduan ini. Diperbarui secara berkala, sebagai spesifikasi berubah.

BASICS DAN PERAWATAN DUKUNGAN

Untuk mulai bekerja, kita perlu menentukan penggunaan elemen menggunakan, mengkonfigurasi ukuran kolom dan baris dengan bantuan dan, dan juga menempatkan elemen anaknya di dalam grid menggunakan dan. Serta di flexbox, urutan elemen dalam sumber grid tidak masalah (Perkiraan. Penerjemah: Dalam markup HTML). CSS Anda dapat menempatkan mereka dalam urutan apa pun, yang sebenarnya menyederhanakan penataan ulang grid menggunakan permintaan media. Bayangkan Anda menentukan markup dari seluruh halaman, dan kemudian sepenuhnya mengatur ulang untuk menempatkan item di bawah lebar layar lain, hanya dengan beberapa baris kode CSS. CSS Grid adalah salah satu modul CSS paling kuat yang pernah disajikan. Pada Maret 2017, banyak browser sudah mendukung CSS Grid, tanpa awalan: Chrome (termasuk Android), Firefox, Safari (termasuk iOS), dan Opera. Internet Explorer 10 dan 11 mendukungnya tetapi dengan implementasi sintaks yang lebih lama. Dukungan di tepi diumumkan, tetapi belum.

Layout Grid CSS (Level 1)

Chrome untuk Android.

Selain Microsoft, produsen browser rupanya mematuhi peluncuran CSS Grid "OB dalam berenang gratis, sedangkan spesifikasi tidak sepenuhnya siap. Dan ini bagus, karena kami tidak perlu mempelajari beberapa sintaksis.

Ini hanya masalah waktu ketika Anda dapat menggunakan grid dalam produksi. Tapi sudah waktunya untuk mempelajari lebih lanjut tentang itu.

Terminologi penting

Sebelum kita terjun ke konsep grid "OV, penting untuk memahami terminologinya. Karena istilah yang digunakan di sini secara konseptual serupa, mereka cukup mudah untuk saling membingungkan jika mereka tidak mengingat nilai-nilai mereka didefinisikan dalam spesifikasi awal. Jangan khawatir mereka banyak.

Wadah Grid.

Elemen yang diterapkan. Ini adalah induk langsung untuk semua elemen mesh. Dalam contoh ini, wadah adalah wadah.

Elemen grid.

Anak Perusahaan (Keturunan Straight) dari wadah. Berikut adalah item tersebut adalah elemen grid, tetapi bukan sub-item.

Garis mesh.

Garis pemisah merupakan struktur untuk grid. Mereka dapat menjadi vertikal ("baris kolom") atau horizontal ("baris garis") dan terletak di kedua sisi string atau kolom. Pada gambar, garis kuning adalah contoh garis vertikal (garis kolom).

Trek Grid.

Ruang antara dua garis yang berdekatan. Anda dapat memikirkannya sebagai kolom atau garis mesh. Berikut adalah trek antara baris kedua dan ketiga.

Jaringan sel

Ruang antara garis dua garis yang berdekatan dan dua kolom yang berdekatan. Ini adalah grid "satuan pengukuran" terpisah. Berikut adalah contoh sel antara garis-garis string 1 dan 2, garis kolom 2 dan 3.

Area grid.

Ruang total dikelilingi oleh empat baris. Area ini dapat terdiri dari sejumlah sel. Berikut ini adalah contoh area antara baris 1 dan 3, dan kolom 1 dan 3.

Properti untuk wadah

Properti untuk elemen.

Properti untuk elemen induk (wadah kisi)

display.

Menentukan elemen sebagai wadah dan menginstal yang baru konteks pemformatan mesh. Untuk isinya.

Nilai:

  • grid. - Menghasilkan grid sebagai blok;
  • inline-grid. - Menghasilkan grid sebagai blok inline;
  • subgrid. - Jika wadah Anda juga merupakan elemen (nested grid), maka Anda dapat menggunakan properti ini untuk menunjukkan bahwa ukuran garis / speaker diambil dari elemen induk, dan tidak mendefinisikan sendiri;
.Container (Display: Grid | inline-grid | subgrid;)

Harap dicatat bahwa kolom, float, jernih dan vertikal-align tidak akan memberikan efek pada wadah.

template-Template-Kolom Grid-Tempate-Rows

Menentukan kolom dan baris grid menggunakan daftar nilai yang dipisahkan oleh spasi. Nilai-nilai adalah ukuran trek, dan spasi di antara mereka mewakili garis mesh.

Nilai:

  • - Dapat berupa ukuran tetap, persentase atau bagian dari ruang kosong di grid (ditentukan menggunakan unit FR (fraksi));
  • - Nama arbitrer untuk pilihan Anda;
.Container (Grid-Template-Columns: ... | ...; Baris grid-template: ... | ...; }

Ketika Anda meninggalkan ruang kosong di antara trek, garis-garis grid secara otomatis ditetapkan nama numerik:

Wadah (grid-template-kolom: 40px 50px auto 50px 40px; grid-template-baris: 25% 100px otomatis;)

Tetapi Anda dapat menghubungi garis dengan jelas. Perhatikan sintaks untuk nama mereka:

Wadah (grid-template-kolom: 40px 50px auto 50px 40px; grid-template-baris: 25% 100px otomatis;)

Harap dicatat bahwa garis mungkin memiliki beberapa nama. Misalnya, di sini baris kedua akan memiliki dua nama: Row1-end dan Row2-Mulai:

Wadah (grid-template-baris: 25% 25%;)

Jika definisi Anda mengandung bagian berulang, Anda dapat menggunakan notasi ulangi ():

Wadah (grid-template-kolom: ulangi (3, 20px) 5%;)

Sama seperti:

Wadah (grid-template-kolom: 20px 20px 20px 5%;)

Satuan fr. Memungkinkan Anda menyesuaikan ukuran trek sebagai bagian dari ruang kosong di wadah. Berikut adalah contoh yang menetapkan setiap elemen dengan lebar wadah ketiga.

Wadah (grid-template-kolom: 1fr 1fr 1fr;)

Ruang kosong dihitung setelah menghitung semua elemen tetap. Dalam contoh ini, jumlah total ruang kosong untuk unit fr. Itu tidak akan termasuk 50px.


area Template Grid

Menentukan pola grid mengacu pada nama bidang yang ditentukan menggunakan properti. Pengulangan nama daerah mengarah pada fakta bahwa konten mencakup sel-sel ini. Point berarti sel kosong. Sintaks itu sendiri menyediakan visualisasi struktur grid.

Nilai:

.Container (Area Template Grid: " | . | Tidak ada | ... "" ... ";)

Item-a (area grid: header;) .item-b (area grid: main;) .item-c (area grid: sidebar;) .item-d (area grid: footer;). Grid-template-kolom: 50px 50px 50px 50px; baris grid-template: otomatis; area template-template: "header header header header" "utama utama. Sidebar" "footer footer footer footer";)

Contoh di atas akan membuat grid 4 kolom dan 3 baris. Seluruh garis atas akan terdiri dari area tersebut header.. Garis di tengah akan terdiri dari area utama.Memegang dua kolom, sel dan wilayah kosong bilah sampingyang menempati satu kolom. Baris terakhir hanya akan terdiri dari area footer..


Setiap string harus memiliki jumlah sel yang sama. Anda dapat menggunakan sejumlah poin yang berdekatan untuk menyatakan sel-sel kosong. Meskipun tidak ada spasi di antara titik-titik, mereka mewakili satu sel.

Perhatikan fakta bahwa Anda tidak memanggil garis, hanya area. Ketika Anda menggunakan sintaksis seperti itu, garis-garis di kedua ujung wilayah akan dipanggil secara otomatis. Jika area Anda dipanggil foo maka nama baris pertama untuk baris dan kolom akan mulai Foo. dan nama untuk baris terakhir string dan kolom akan foo-end. . Ini berarti bahwa beberapa baris mungkin memiliki beberapa nama, seperti kasus kami, garis kiri akan memiliki tiga nama: header-start, Main-start, dan footer-start.

template grid.

Nilai:

.Container (Grid-Template: None | Subgrid | / ; }

Ini juga membutuhkan sintaks yang lebih kompleks, tetapi agak nyaman, untuk menunjukkan ketiga properti. Berikut ini adalah contoh:

Wadah (grid-template: 25px "header header header" "footer footer footer" 25px / auto 50px otomatis;)

Apa yang setara dengan yang berikut:

Wadah (grid-template-baris: 25px 25px; kisi-template-kolom: auto 50px otomatis; area template-template: "header header header" "footer footer footer";)

Karena grid-template tidak mengatur ulang sifat implisit (, dan), dan dalam kebanyakan kasus, Anda mungkin ingin melakukan ini, disarankan untuk menggunakan properti, alih-alih grid-template.

# GRID-COLUMN-GAP Grid-Row-Gap

Menentukan ukuran lebar garis. Anda dapat memikirkannya sebagai mengkonfigurasi lebar indentasi antara kolom dan baris.

Nilai:

  • - nilai ukuran;
.Container (Grid-Column-Gap: ; GRID-ROW-GAP: ; }

Wadah (grid-template-kolom: 100px 50px 100px; grid-template-baris: 80px auto 80px; grid-kolom-gap: 10px; grid-row-gap: 15px;)

Indentasi dibuat hanya antara kolom dan baris, tetapi bukan untuk tepi eksternal dari grid.

Nilai:

  • - Dimensi;
.container (Grid-Gap: ; }

Wadah (kotak-template-kolom: 100px 50px 100px; grid-template-baris: 80px auto 80px; grid-gap: 10px 15px;)

membenarkan item.

string. kolom

Nilai:

  • mulailah. - Garis isi di sisi kiri wilayah;
  • akhir. - Garis konten di sisi kanan wilayah;
  • pusat - Garis isi bagian tengah wilayah;
  • meregang.
.Container (Benai-item: Mulai | end | Pusat | Peregangan;)

Wadah (pembenaran-item: mulai;) .container (pembenaran-item: end;) .Container (Barang-Barang: Pusat;) .Container (Barang-Barang: Peregangan;)

align-item.

Menyelaraskan konten di sepanjang sumbu kolom (Berbeda dengan mana garis-garis elemen di sepanjang sumbu string. ). Nilai ini berlaku untuk semua elemen grid di dalam wadah.

Nilai:

  • mulailah. - Alignment elemen di bagian atas area;
  • akhir. - Alignment elemen di bagian bawah wilayah;
  • pusat - Penyelarasan elemen di tengah wilayah;
  • meregang.
.Container (Align-Item: Mulai | Akhir | Pusat | Peregangan;)

Wadah (align-item: mulai;) .container (Align-Item: end;) .container (Align-Item: Center;) .container (Align-Item: Stretch;)

membenarkan konten

Terkadang total ukuran grid bisa kurang dari ukuran wadah. Ini dapat terjadi jika semua elemen grid ditetapkan unit pengukuran tetap, misalnya px. Dalam hal ini, Anda dapat mengatur keselarasan grid di dalam wadah. Properti ini menyelaraskan grid di sepanjang sumbu string. kolom ).

Nilai:

  • mulailah. - Garis grid di sisi kiri wadah;
  • akhir. - Garis grid di sisi kanan wadah;
  • pusat
  • meregang. - Tggilakan elemen-elemen sehingga grid dapat mengisi seluruh lebar wadah;
  • ruang-sekitar.
  • ruang-antara.
  • ruang-merata
.Container (Membenarkan Konten: Mulai | end | Pusat | Peregangan | Space-Around | Space-Antara | Space-Family;)

Wadah (membenarkan konten: mulai;) .container (justifikasi-konten: end;) .container (justifikasi-konten: tengah;) .container (justifikasi-konten: peregangan;) .container (konten-konten: di sekitar;) .Container (konten-konten: spasi -Tempat;) .Container (Membenarkan konten: Ruang-merata;)

sejajarkan - konten

Terkadang total ukuran grid bisa kurang dari ukuran wadah. Ini dapat terjadi jika semua elemen mesh ditetapkan unit pengukuran tetap, misalnya px. Dalam hal ini, Anda dapat mengatur keselarasan grid di dalam wadah. Properti ini menyelaraskan grid di sepanjang sumbu speaker. (Tidak seperti properti yang melapisi grid di sepanjang sumbu string. ).

Nilai:

  • mulailah. - Garis grid di bagian atas wadah;
  • akhir. - Garis grid di bagian bawah wadah;
  • pusat - Garis grid di tengah wadah;
  • meregang. - Tggilakan elemen-elemen sehingga grid dapat mengisi seluruh ketinggian wadah;
  • ruang-sekitar. - Ruang yang sama antara elemen, dan indentasi setengah berukuran di tepi;
  • ruang-antara. - Ruang yang sama antara elemen, tanpa indentasi di tepi;
  • ruang-merata - Ruang yang sama antara elemen, dan indentasi ukuran penuh pada tepi;
.container (sejajar-konten: Mulai | end | tengah | peregangan | spasi-sekitar | ruang-antara | ruang-merata;)

Wadah (sejajar-konten: mulai;) .container (align-content: end;) .container (align-content: center;) wadah (align-content: stretch;) .container (align-content: space-around;) .container (lambang-konten: Antara;) .container (sejajar-konten: spasi-merata;)

grid-Auto-Columns Grid-Auto-Rows

Menentukan ukuran setiap perdagangan otomatis (dengan kata lain, langkah implisit ). Lintasan implisit dibuat dengan posisi kolom dan garis yang jelas (melalui /), yang berada di luar grid yang ditentukan.

Nilai:

  • - Dapat berupa ukuran tetap, persentase, atau bagian dari ruang kosong di grid (menggunakan FR Unit);
.container (kolom grid-otomatis: ...; Grid-Auto-Rows: ...; }

Untuk menggambarkan bagaimana trek implisit dibuat, lihatlah:

Contoh di atas akan membuat grid 2 x 2.

Dan sekarang bayangkan Anda memposisikan item grid menggunakan dan sebagai berikut:

Item-a (kolom-grid: 1/2; grid-baris: 2/3;) .item-B (kisi-kolom: 5/6; grid-baris: 2/3;)

Kami berkata kepada elemen.Item-B dimulai dengan 5 baris dan berakhir pada 6 baris, di sepanjang sumbu kolom, tapi kami tidak mendefinisikan garis 5 dan 6 . Karena kami merujuk ke garis yang tidak ada, trek implisit dengan lebar 0 dibuat untuk mengisi celah. Kita dapat menggunakan dan menentukan lebar trek implisit ini:

Wadah (kolom grid-auto: 60px;)

grid-Auto-Flow

Jika Anda memiliki elemen yang jelas tidak Anda posisikan di grid, algoritma penempatan otomatis diluncurkan untuk secara otomatis menempatkannya. Properti ini mengontrol bagaimana algoritma penempatan otomatis berfungsi.

Nilai:

  • baris - Kata algoritma penempatan otomatis untuk mengisi setiap baris secara bergantian, menambahkan baris baru jika perlu;
  • kolom. - Kata algoritma penempatan otomatis untuk mengisi setiap kolom secara bergantian, menambahkan kolom baru jika perlu;
  • padat - Kata algoritma penempatan otomatis untuk mencoba mengisi lubang di grid, jika item yang lebih kecil muncul nanti;
.container (aliran otomatis-aliran: baris | kolom | baris padat | kolom padat)

Perhatikan bahwa padat Ini dapat menyebabkan fakta bahwa elemen Anda tidak akan ditampilkan secara berurutan.

Pertimbangkan HTML berikut:

item-a.
barang-b.
item-c.
item-d.
item-e.

Anda telah menentukan grid dengan lima speaker dan dua baris, dan properti Grid-Auto-Flow diatur ke baris (itu adalah nilai default).

Wadah (tampilan: grid; kisi-template-kolom: 60px 60px 60px 60px 60px; grid-template-baris: 30px 30px; Grid-Auto-Flow: Baris;)

Saat menempatkan elemen di grid, Anda menentukan posisi hanya untuk dua di antaranya:

Item-A (kolom-grid: 1; grid-baris: 1/3;) .item-e (kolom grid: 5; grid-baris: 1/3;)

Karena kami telah menginstal grid-flow-flow in bow, grid kami akan terlihat seperti pada gambar di bawah ini. Perhatikan bagaimana tiga elemen yang belum kita lakukan ( barang-b., item-c. dan item-d.) mengalir melalui garis-garis kosong:

Jika, sebaliknya, kami menginstal properti grid-flow-flow di kolom, item barang-b., item-c. Dan. item-d.melempar kolom:

Wadah (tampilan: grid; kisi-template-kolom: 60px 60px 60px 60px 60px; grid-template-baris: 30px 30px; grid-auto-flow: kolom;)

grid.

Pengurangan untuk menyesuaikan semua properti berikut :, dan, dan semua properti lainnya dipasang pada nilai awal. Yang Anda lakukan adalah menentukan nama-nama baris dan ukuran trek di baris dengan area yang sesuai dari grid. Ini paling mudah dijelaskan dalam contoh:

Wadah (kisi: "header header header" 1FR "footer footer footer" 25px / auto 50px otomatis;)

Ini setara dengan yang berikut:

Wadah (area template-template: "header header header" "footer footer footer"; grid-template-baris: 1fr 25px; kisi-template-kolom: otomatis 50px otomatis;)

Properti untuk Anak Perusahaan (Elemen Grid)

grid-Column-Mulai Grid-Column-End Grid-Bill-Start Grid-Row-End

Tentukan lokasi di grid yang mengacu pada garis-garis tertentu. Grid-Column-Start / Grid-Row-Start adalah garis yang dengannya elemen dimulai, dan ujung-end-end / grid-row-end adalah garis di mana elemen berakhir.

Nilai:

  • - Mungkin angka yang merujuk pada baris bernomor, atau nama yang mengacu pada baris bernama;
  • menjangkau - elemen yang akan mencakup jumlah yang disediakan oleh jumlah trek;
  • menjangkau - Elemen akan ditutup sampai mencapai garis dengan nama yang ditentukan;
  • mOBIL. - Menunjukkan penempatan otomatis, cakupan otomatis, atau cakupan default;
.Item (grid-kolom-mulai: | | menjangkau | menjangkau | Auto Grid-Column-end: | | menjangkau | menjangkau | Auto Grid-Row-Mulai: | | menjangkau | menjangkau | Auto Grid-Row-end: | | menjangkau | menjangkau | MOBIL)

Item-A (Grid-Column-Mulai: 2; Grid-Column-end: Five; Grid-Row-Start: ROW1-Mulai Grid-ROW-end: 3)
.Item-B (Grid-Column-Mulai: 1; Grid-Column-end: Span Col4-Start; Grid-Row-Start: 2 Grid-Bill-End: Span 2)

Jika grid-kolom-end / grid-row-end tidak diumumkan, elemen akan mencakup 1 trek default.


Grid-Row-Start + + +.

Nilai:

  • - Nama yang Anda pilih;
  • / / / - Dapat diberi nomor atau nama garis;
.Item (area grid: | / / / ; }

Sebagai cara untuk menetapkan nama ke item:

Item-D (area grid: Header)

Sebagai pengurangan untuk Grid-Bill-Start + Grid-Column-Mulai + Grid-Bill-End + Grid-Column-End:

Item-D (area grid: 1 / col4-start / last-line / 6)

justifikasi diri.

string. kolom

Nilai:

  • mulailah. - Garis isi di sisi kiri wilayah;
  • akhir. - Garis konten di sisi kanan wilayah;
  • pusat
  • meregang. - mengisi seluruh lebar area (secara default);
.Item (Justify-Diri: Mulai | Akhir | Pusat | Peregangan;)

Item-a (justify-diri: mulai;) .Item-a (justifikasi-diri: akhir;) .item-a (justifikasi-diri: tengah;) .item-a (justifikasi diri:)

menyelaraskan diri.

Menyelaraskan isi elemen di sepanjang sumbu kolom (Berbeda dengan garis mana di sepanjang sumbu string. ). Nilai ini diterapkan pada konten di dalam elemen individu.

Nilai:

  • mulailah. - Garis isi bagian atas wilayah;
  • akhir. - Garis konten di bagian bawah wilayah;
  • pusat - Mengevaluasi isi bagian tengah wilayah;
  • meregang. - mengisi seluruh ketinggian area (secara default);
.Item (Align-Self: Start | End | Center | Peregangan;)

Item-a (Align-Self: Start;) .Item-a (Align-Self: End;) .Item-a (Align-Self: Center;) .Item-a (Align-Self: Stretch;)

Saya sudah menulis banyak tentang antarmuka dan addons. Ini adalah salah satu artikel terakhir dari siklus ini (pasangan lain masih). Mungkin saja, setelah beberapa saat, penemuan baru akan mengikuti, pengamatan dan pertanyaan yang harus Anda cari jawaban (ya Anda tidak ragu - Tanyakan), tapi sekarang saya, mungkin, tidak akan ada yang menambahkan dan setelah itu, panduan Hanya akan menulis artikel tentang penggilingan yang ternyata dan, jika ada keinginan untuk pembaca, taruh pengaturan dan file addons.

Jadi, grid. Sejujurnya, jujur, sulit untuk membawa tinjauan komprehensif tentang topik "Mengapa Grid adalah Manna surgawi, dan sisa bukit - menyebalkan." Mungkin karena mereka tidak menyebalkan, tetapi saya tidak telah menumbuhkan sesuatu dengan mereka, tetapi tetap saja, dengan bodoh menulis tentang apa yang Anda ketahui di tingkat membaca komentar "Hillbot Foreva dia keren, dia baik!" Ada beberapa stereotip berbentuk kompleks pada topik Vuhdo, Healbot dan lainnya dan biarkan mereka makan. Topik kami adalah hari ini - grid dan, omong-omong, karena alasan yang sama, saya tidak ingin melihat komentar komentar dari "format yopt, jadi hillbot" (jika saya tidak membandingkan - ini bukan alasan untuk Bermain di KO) dan "Waiga, Hillbot bisa lebih dingin" (tanyakan lebih baik - atau apakah gridnya "begitu").

  1. Grid dari kotak
  2. Pengaturan utama.
  3. Esensi grid.
  4. Tambahkan indikator mana
  5. Kami memvisualisasikan perawatan untuk druid
  6. Menyiapkan ICONBAR.
  7. Kustomisasi Mouse
  8. Kesimpulan

1. Grid di luar kotak

Hal pertama yang kami lakukan adalah mengatur grid. Berikut adalah daftar apa yang kami gunakan:

  • Grid. - Bagaimana itu, kernel \u003d)
  • Gridautoframesize. - Plugin ini akan secara otomatis menyesuaikan ukuran grid di bawah rentang serangan saat ini.
  • Gridclicksets. - Alternatif untuk klik sepertinya. Clique tidak melihat ini saya gunakan, tetapi licy - mungkin Anda tidak akan menyukainya
  • Gridindicatoriconbar. - Surga manna saya, memfasilitasi masa hidup jadi sepuluh. Essence menunjukkan panel ikon \u003d)
  • GridManadars. - menunjukkan Manu. Berguna. Bahkan energi dan kekuatan rune menunjukkan ...
  • Gridstatahots. - menunjukkan druid panas

Setelah itu, pergi ke langkah kedua

2. Pengaturan utama.

Pada kenyataannya, pengaturan utama, definisi penampilan addon. Pertama, tentukan ukuran apa yang akan Anda gunakan. Hubungi jendela Pengaturan dengan menjalankan perintah

Buka tab "Location" Anda akan melihat jendela berikut:

Semuanya sederhana dalam teori, misalnya, jika Anda tidak ingin bingkai keluar dari 40 orang, cukup masukkan opsi "untuk sekelompok 25 orang" di "lokasi di PS". Segera, Anda diundang untuk memilih tampilan grup yang horizontal atau vertikal (di dekatnya, misalnya, memiliki grup secara vertikal, di sebelah kiri di bawah potret Anda), serta melarang grid-y untuk memanjat layar dan mengamankannya di Lokasi yang diinstal. Mempelajari pengaturan yang bertanggung jawab atas parameter eksternal. Saya sarankan untuk menekan pengisian nol, intervalnya cukup sama dengan 2. Skala - atas kebijaksanaan Anda. Warna latar belakang dan perbatasan - Juga atas kebijaksanaan Anda \u003d)

Sekarang pergi ke tab "Frame-Advanced" berikutnya:

  • Frame Heights (i \u003d 30)
  • Lebar bingkai (60)
  • Orientasi bingkai (horizontal - kesehatan berkurang ke kiri kanan, secara vertikal - top down)
  • Tekstur bingkai (ya, seseorang sangat penting, misalnya, saya tidak bisa melihat koloni segala macam - saya perlu minimalis - dan jadi kelebihan pasokan informasi)
  • Ukuran huruf

"Teks di indikator pusat 2" Anda perlu mengaktifkan untuk menggeser nama karakter.

Dan akhirnya, mari kita pergi ke tab "bingkai" yang sama:

Mungkin perlu bagi seseorang tentang warna warna band dan perlu untuk meningkatkan panjang teks di tengah. Dengan memanjang - 4 karakter dan nama saya "Kompor", yang saya sangat kesal \u003d)

3. Esensi dari grid

Orang Cina menyarankan untuk mengajar ikan, dan bukan pakan ikan, jadi ambil pancing. Pengaturan grid adalah dua tugas:

  • Pertama Anda mengkonfigurasi modul yang bertanggung jawab untuk melacak di tab "Status"
  • Kemudian Anda mengkonfigurasi "sel" di mana Anda dapat mendorong modul di tab "Frame".

Bahkan, ini adalah solusi yang sangat sederhana dan efektif, tetapi sama sekali tidak datang. Tindakan pertama cukup cocok "dari kotak" untuk sebagian besar modul, jadi contoh akan segera mengambil alih yang kedua.

Kami memilih dalam tab "bingkai" dari sel "teks baris" dan lihat apa yang ada:

Semua chekbox (kotak seperti itu di mana Anda dapat menyodok centang, jika tidak dalam kursus) adalah modul yang berbeda. Modul yang memungkinkan Anda untuk menampilkan informasi modul di sel yang dapat diedit. Lelucon kecil adalah bahwa beberapa modul dapat ditampilkan pada saat yang sama, tetapi hanya satu dari mereka yang terlihat. Grid menentukan siapa yang memang layak visibilitas paling banyak dengan opsi modul "prioritas" (secara alami, diatur ke modul sendiri) - yang prioritasnya lebih - itu akan terlihat. Kecuali, tentu saja, terlibat - Anda tidak akan melihat modul "Peringatan Death" jika pemain tidak mati.

Semua ini memberi tahu kita bahwa informasi yang diperlukan harus dicatat, terlalu banyak - hapus (dan, jika perlu, tandai dalam sel lain).

4. Tambahkan indikator mana

Pekerjaan rumah pertama kami adalah contoh menambahkan indikator mana. Langkah pertama kami adalah mengkonfigurasi modulnya.

  • Prioritas dapat berupa apa saja - Mana akan menjadi satu-satunya di sel kami untuk mana \u003d)
  • Saya menunjukkan mengabaikan semua orang, yang tidak memiliki mana - saya tidak punya sedikit penting bagi saya berapa banyak energi atau daya DC dibalut. Jika penting bagi Anda - hapus centang pada kotak centang.
  • Filter RADIUS pada dasarnya tidak diperlukan - cukup kesehatan
  • Centang kotak "termasuk" butuhkan \u003d)
  • Pada tab "Warna", Anda dapat memilih warna mana, energi, kemarahan atau kekuatan rune. Nah, murni menggambarkan \u003d)

Saya memilih posisi strip mana dari bawah. Seseorang suka strip manana di samping, tetapi saya tidak menyukainya. Juga, di tab "frame-strip man", periksa apakah kotak centang "mana" diinstal dan semua kotak centang lainnya dihapus.

Pada instalasi strip mana ini selesai. Hanya saja, bukan?

5. Kami memvisualisasikan perawatan untuk Druid

Kami melanjutkan ke fakta bahwa baru-baru ini saya hanya menyederhanakan proses perawatan - menetapkan tampilan panas. Sekarang, jika Anda mengkonfigurasi semuanya seperti saya, bingkai Anda terlihat seperti ini:

Kami melihat perawatan yang masuk, HP dan Manu di atasnya. Segala sesuatu. Untuk memverifikasi panas, kita perlu menyoroti tujuannya, melihat buffnya, membuang waktu. Panjang dan tidak nyaman, dan dari jumlah buff tidak bergantung tidak hanya dengan Hotov Hots, tetapi juga efektivitas pemeliharaan dengan simbol dengan nama yang sama (+ 6% untuk masing-masing meskipun itu hebat, sangat bagus, sangat bagus , Baik sekali). Singkatnya, entah bagaimana Anda perlu mendapatkan visualisasi jendela kami di seluruh serangan, dan dengan waktu tindakan, untuk dilihat ketika jatuh. Pada awalnya, saya punya ide dengan garis-garis seperti Quartz Buffov, tetapi dalam ukuran sebagai strip mana, tetapi jumlah elemen berkuda hanya akan meningkat, dan itu tidak nyaman untuk mengikuti waktu pada band yang bergerak dengan kecepatan yang berbeda (kebenaran tidak nyaman. Kuarsa menyimpan hanya menyortir).

Jalan keluar dari situasi terlihat begitu ketika Hota baru saja luar biasa:

Dalam hal ini, kami telah berakhir dengan pertumbuhan mentah (ikon pertamanya dan tidak lagi terlihat), setelah beberapa detik, peremajaan akan berakhir (ikon kedua, merah - saatnya untuk retak), restorasi ( Ketiga, ikon hijau) dan mentolerir kehidupan (terakhir, ikon kuning). Hotov hanya 4, jadi kami memiliki cukup 4 kotak.

Saya mendekati tugas dari sudut pandang memori visual dasar - mereka memiliki penyebaran masing-masing pengemudi dan di antara mereka sendiri, pada pandangan pertama, jelas bahwa pada com hang (aneh, tetapi itu bahkan tidak memiliki untuk terbiasa). Buat lampu lalu lintas ini.

6. Menyiapkan ikon

Sponsor visualisasi adalah ikon dari addon Gridindicatoriconbar.. Kita perlu mengatur, seperti yang telah disebutkan sebelumnya, modul dan sel. Kami mulai dengan modul:

Kami membutuhkan tab Status - hotel saya. Segera instal frekuensi pembaruan di sana (0,2-0.5 cukup) dan lanjutkan untuk mengatur sub-ayat "My Hots":

Kita perlu mengkonfigurasi 4 Hots: Restorasi, peremajaan, pertumbuhan dan kehidupan berkarat. Semua pengaturan identik:

  • Warna Menentukan warna alun-alun
  • Prioritas Kami tidak terlalu penting bagi kami, karena untuk setiap kotak akan ada selnya sendiri
  • Tampilkan jumlah Hotov - Saya tidak mengerti ini, tetapi mencatat karena biarlah jika itu tidak mengganggu \u003d)
  • Ambang batas untuk nomor warna 2 - Ini adalah sisa waktu panas, setelah mencapai warna mana No. 2 akan dihidupkan.
  • Ambang batas untuk warna №3 - lihat di atas \u003d)
  • Warna nomor 2.- warna ambang pertama
  • Nomor Warna 3 -warna ambang kedua

Penting untuk memasang ambang batas secara independen. Seperti disebutkan di atas, saya memilih warna kuning untuk memperingatkan tentang ujung panas, dan oranye - untuk sinyal ke Castow segera. Membuat amandemen pada 0,5-1,5 detik untuk reaksi reaksi mata-otak, saya mengatur waktu ambang kedua \u003d 2 * time_kast atau 2 * GKD, dan waktu pertama - 2 * time_store_POG. Jadi, ketika saya merangkak satu mantra, saya sudah tahu apa yang akan saya perayangkan setelah \u003d)

Langkah Selanjutnya - Kami menempatkan kotak kami. Secara umum, iConBar dengan mudah mendukung dan ikon, yaitu, Anda dapat memasukkan ikon kehidupan kehidupan atau pemulihan yang sama secara langsung, tetapi saya tidak pantas mengingat ukuran alun-alun. Ya, dan kejelasannya lebih kecil, dan di mana jenis apa yang saya ingat dalam beberapa menit dari heroik berikutnya \u003d)

Ngomong-ngomong, mari kita segera membedakan pesanan saya - mengapa dia sebagai berikut. Dan dia hanya untuk alasan bahwa memerintahkan bahwa pesanan ini lebih cerah menampilkan kekuatan perawatan masing-masing pemain individu dalam kasus saya.

Idealnya, DD (saya pergi ke DD di pesta ini) diperlakukan hanya dari BR dan beberapa bagian dari waktu sama sekali, kecuali tangki, hanya menggantung BR. Alun-alun pertama cocok untuk peran yang hampir selalu berfungsi. Dia menandatangani saya bahwa di pemain ini Anda dapat menuangkan pemeliharaan dengan peningkatan 20%.

Perlakuan mantra kedua akan menjadi peremajaan - itu kuat, cukup panjang dan murah dalam waktu. Oleh karena itu, ia hang kurang jarang, tetapi lebih sering daripada ejaan lainnya (kadang-kadang lebih sering, tetapi ini adalah kasus yang luar biasa).

Yang ketiga dipulihkan. Karena kenyataan bahwa itu juga memperlakukan segera setelah kasta - itu adalah yang ketiga diterapkan dengan "seberapa buruk".

Keempat tetap lifeblum, yang hang 95% dari waktu hanya di tangki.

Strip dari 4 Buff menunjukkan bahwa karakter berada pada hothouse maksimum dan siap untuk infus maksimum Nurisha. Selain itu, setelah beberapa detik dia akan meledak dan mengakhiri dirinya sendiri (apa yang disarankan dengan warna kotak keempat). Tiga kotak - DD Nekcalo diterima di kerupuk. Dua kotak adalah OO biasa, siap diterapkan untuk memperkuat Nurisha. Satu kotak kedua - pasien dapat memasukkan pemulihan cepat.

  • Mode uji Memungkinkan Anda melihat tanpa perawatan di mana ikon akan ditemukan. Nyaman saat memilih ikon lokasi
  • Jumlah ikon. - Jumlah ikon. Kami sudah cukup 4. pada awalnya \u003d)
  • Skala ikon. - Ini adalah skala ikon. Saya punya cukup 0,6.
  • Jumlah ikon per baris - Jumlah ikon pada string. Jika Anda memiliki 10 ikon, itu berguna. Dengan 4 - ini berguna kecuali saat menempatkan kotak.
  • Ikon Spacing. - Jarak antar ikon. Saya memilikinya sangat besar untuk dengan cepat tahu apa yang hidup aktif. Dari ikon lebih dekat, semakin mudah untuk disalahartikan dalam kombinasi hots yang berbeda
  • Bar Penahan Jangkar - Jangkar di mana lokasi panel akan diikat
  • Titik pemasangan bingkai unit - Anchor Freuma.
  • Kantor X-Axis dan Y-Axis - Ini adalah offset atas sumbu X dan Y. Penting ketika memilih posisi ikon Anda

Sekarang Anda akan mengkonfigurasi urutan yang saya tulis di atas. Buka tab "Frame-IconBar".

Contoh:

Minmax () - Fungsi

Memungkinkan Anda untuk mengatur nilai minimum dan maksimum untuk baris / kolom. Digunakan dalam properti di mana Anda perlu menentukan ukuran: grid-template-baris :, grid-template-kolom :, grid-template :.

Minmax (min_zdation, max_dation)

Nilai mungkin:

  • px, em, rem, ... - Unit panjang (100px)
  • % - Bunga (10%)
  • fr. - Ukuran fleksibel. Hanya dapat digunakan untuk maks. nilai.

    konten Max. - Ukuran sel terkecil yang mungkin, di mana isinya benar-benar cocok di dalamnya. Misalnya, jika dalam teks sel, lebar sel yang sempurna akan menjadi seluruh panjang teks (dalam satu baris tanpa transfer).

    konten min. - Ukuran terkecil di mana sel tidak meluap. Misalnya, jika dalam teks sel, lebarnya akan sama dengan kata panjang dalam teks.

    mOBIL. - Itu tergantung pada apakah itu digunakan sebagai nilai maksimum atau minimum dalam fungsi minmax ():

    • jika sebagai maksimal, maka hal yang sama adalah konten maksimal.
    • jika sebagai minimum, nilainya akan menjadi ukuran minimum yang mungkin untuk sel. Ukuran ini berbeda dari menit-konten dan diatur oleh sifat-sifat mini-lebar atau min-tinggi.

Contoh:

Gunakan opsi:

Grid-Template-Columns: Minmax (100px, 200px) 1fr 1fr; Grid-Template-Columns: Minmax (200px, 50%) 1fr 1fr; Grid-Template-Columns: Minmax (200px, 1fr) 1fr 1fr; Template-template-kolom: minmax (konten mini, konten maks) 1fr 1fr; Grid-template-kolom: minmax (otomatis, otomatis) 1fr 1fr; Grid-Template-Columns: Ulangi (Auto-Fit, Minmax (200px, 1FR));

Jika nilai maksimum yang ditentukan kurang dari minimal, itu diabaikan dan hanya min. nilai.

Grid-Row-Gap: Grid-Column-Gap: Grid-Gap:

grid-Row-Gap: Menentukan celah di antara baris.
GRID-COLUMN-GAP: Menentukan celah antara speaker.
GRID-GAP: Menentukan celah untuk baris dan kolom sekaligus. Ini adalah pengurangan untuk dua properti sebelumnya. Jika Anda menentukan satu parameter, itu akan diatur untuk kedua nilai.

// Sintaks: Gap-Row-Gap: Ukuran; Grid-Column-Gap: Ukuran; GAP-GAP: Ukuran ukuran; / * Kolom Baris * / GAP-GAP: Ukuran;

Contoh:

GRID-COLUMN-GAP: 10px; Grid-Row-Gap: 15px;

Catatan: Awalan grid akan dihapus dan nama properti akan: Gap Kolom: dan baris-gap :. Chrome 68+, Safari 11.2 dan Opera 54+ Sudah mendukung properti tanpa awalan ini.

Konten Align: Membenarkan-konten: Konten Tempat:

Aligns baris / kolom. Sel-sel mesh disejajarkan, bukan elemen di dalam sel. Untuk menyelaraskan item, gunakan: membenarkan item, menyelaraskan-item, item-item.

// sintaks: align-content: Nilai; // Sejajarkan peringkat dengan vertikal ↓ pembenaran-konten: nilai; // Sejajarkan kolom horizontal ← → Konten Tempat: Nilai; // Entry Entry: Mengatur Konten Tempat: Menyelaraskan - Konten-Konten; // rekaman disingkat.

Nilai mungkin:

  • regangan (default) - Meregangkan peringkat / kolom (sel) sepenuhnya. Seluruh ruang wadah diisi. Itu hanya masuk akal jika baris / kolom tidak sekuat (mereka karet). Jika mereka bukan karet, itu berfungsi seperti awal.
  • mulailah. - Baris / kolom dikemas dekat satu sama lain ke tepi awal wadah.
  • akhir. - Baris / kolom dikemas dekat satu sama lain ke tepi akhir wadah.
  • pusat - Rows / kolom dikemas dekat satu sama lain dan terletak di tengah wadah.

  • ruang-sekitar. - Ruang kosong didistribusikan secara merata antara baris / kolom dan ditambahkan di sepanjang tepi. Ternyata baris / kolom ekstrim tidak ditekan ke arah tepi wadah, tetapi jarak ke tepi dua kali lebih sedikit daripada antara baris / kolom.
  • ruang-merata - Juga sebagai ruang-sekitar, hanya jarak ke tepi wadah sama dengan antara baris / kolom.
  • ruang-antara. - Baris / kolom ekstrem ditekan ke tepi wadah dan ruang kosong didistribusikan secara merata antara baris / kolom.

Nilai langka:

Contoh:

Sintaks penuh:

// Sintaks: Konten Align: Normal | | ? | Membenarkan-konten: Normal | | ? [ | Kiri | Baik] // \u003d Space-Antara | Space-sekitar | Ruang-merata | Meregang // \u003d tidak aman | Aman // Pusat | Mulai | Akhir | Flex-Start | Flex-end // \u003d [Pertama | Terakhir]? Baseline // apa yang ada dalam atau apa? - Anda tidak dapat menentukan

  • kiri. - Untuk membenarkan konten, tidak berfungsi untuk konten selaras. Kolom dikemas dekat satu sama lain ke tepi kiri wadah.
  • baik - Untuk membenarkan konten, tidak berfungsi untuk konten selaras. Kolom dikemas dekat satu sama lain ke tepi kanan wadah.

    flex-Start.

    flex-end.

  • baseline., baseline pertama., baseline terakhir.

Semua opsi untuk nilai:

// Pelajaran Dasar Alignment-Content: Center; Sejajar-konten: mulai; Sejajar-konten: end; Sejajar-konten: mulailah fleksibel; Sejajar-konten: flex-end; Sejajar - konten: normal; // Sejajarkan Teks Align-Content: Baseline; Sejajar - konten: baseline pertama; Sejajar-konten: baseline terakhir; // distribusi align-content: space-antara; Sejajar - konten: spasi-sekitar; Sejajar-konten: spasi-merata; Sejajar-konten: peregangan; // Ketika elemennya tumpang tindih dengan wadah konten-konten: Safe Center; Sejajar-konten: pusat tidak aman; // Globally Align-Content: Inharit; SELURUH-KONTEN: Awal; Sejajar-konten: tidak disetel;

membenarkan konten:

// perataan dasar justifikasi-konten: pusat; Membenarkan konten: Mulai; Membenarkan konten: Akhir; Membenarkan konten: mulailah fleksibel; Membenarkan-konten: Flex-end; Membenarkan konten: kiri; Membenarkan konten: Benar; Sejajar - konten: normal; // Penyelarasan teks tidak masuk akal // distribusi pembenaran-konten: ruang-antara; Membenarkan konten: spasi-sekitar; Membenarkan konten: Ruang-merata; Membenarkan konten: peregangan; // ketika elemen tumpang tindih dengan konten pembenaran: wadah tengah aman; Membenarkan konten: pusat tidak aman; // justifikasi global-konten: mewarisi; Membenarkan konten: Awal; Membenarkan konten: Unset;

// Alignment Dasar // Konten Align tidak dapat dibiarkan ke kiri atau kanan - Konten: Pusat Mulai; Konten Tempat: Mulai Pusat; Konten tempat: ujung kiri; Konten Tempat: Pusat Flex-Start; Konten Tempat: Pusat Flex-End; // garis pelajaran // untuk parameter kedua (justifikasi-konten) tidak masuk akal dari tempat - konten: pusat baseline; Konten tempat: ruang baseline pertama-merata; Konten Tempat: Bawah Baseline terakhir; // Konten tempat: ruang - antara ruang-merata; Tempat-konten: ruang-sekitar ruang-merata; Konten tempat: Ruang-merata; Konten tempat: Ruang peregangan-merata; // konten tempat global: mewarisi; Tempat-Konten: Awal; Tempat-Konten: Unset;

Align-Item: Benarkan-item: Place-Item:

Garis elemen grid - apa yang ada di dalam sel mesh. Pemicu untuk semua elemen grid. Untuk menyelaraskan sel-sel itu sendiri (baris kolom), gunakan: Membenarkan konten, sejajar-konten, konten tempat.

// Sintaks: Align-Item: Nilai; // selaraskan elemen-elemen dengan vertikal ↓ pembenaran-item: nilai; // Aligns Elemen Horizontal ← → Item Place: Nilai; // Entry Entry: Mengatur kedua item Place-Item: Align-Item-item-item; // rekaman disingkat.

Nilai mungkin:

    aUTO (default) - Menentukan penggunaan nilai item-item: yang diatur untuk wadah. Jika item diposisikan melalui absolut, normal diterapkan.

  • meregang. - Meregangkan semua elemen pada seluruh lebar / ketinggian sel.
  • mulailah. - Tempatkan semua item di awal sel (kiri atau lebih).
  • akhir. - Tempatkan semua elemen di akhir sel (kanan atau bawah).
  • pusat - Tempatkan semua elemen di tengah sel.

Nilai langka:

Contoh:

Sintaks penuh:

Di atas untuk menyederhanakan bukan sintaks lengkap, tetapi mencakup 99% dari yang diinginkan.

// Sintaks: Align-Item: Normal | Peregangan | [ ? ] | Membenarkan-item: Normal | Peregangan | ? [ | Kiri | Benar] |. | Legacy [Kiri | Benar |. Pusat] // \u003d [Pertama | Terakhir]? Baseline // \u003d tidak aman | Aman // Pusat | Mulai | Akhir | Mulai Diri | Self-end | Flex-Start | Fleksibel // apa yang ada di dalam atau apa? - Anda tidak dapat menentukan

  • kiri. - Untuk item justifikasi, tidak berfungsi untuk selaras-item. Semua elemen ditekan ke tepi kiri sel.
  • baik - Untuk item justifikasi, tidak berfungsi untuk selaras-item. Semua elemen ditekan ke tepi kanan sel.

    flex-Start. - Juga mulai dari grid mesh. Itu. Jika barang bukanlah anak-anak dari wadah fleksibel berperilaku seperti awal.

    flex-end. - Juga ujungnya untuk Grid Mesh. Itu. Jika elemen-elemennya bukan anak lentur, wadah berperilaku seperti akhir.

    baseline., baseline pertama., baseline terakhir. - Sesuaikan teks (pertama atau terakhir). Kompatibilitas ke belakang: Untuk baseline pertama, awal ini, untuk baseline terakhir berakhir.

  • warisan. - Memungkinkan Anda mengelola bagaimana nilai anak-anak akan diwarisi.
    Jika warisan ditunjukkan tanpa kiri, kanan, tengah, maka nilainya hanya diwarisi dari induk atau sama dengan normal.
    Ketika membenarkan diri sendiri: otomatis mengacu pada nilai pembenaran-item:, nilainya diambil tanpa kata warisan, misalnya, legacy kiri akan diambil oleh kiri. Perlu untuk menyelaraskan tag dengan benar
    atau elemen dengan atribut align.

Semua opsi untuk nilai:

// Nilai dasar dari Align-Item: Normal; Align-Item: Peregangan; // Pelurusan posisi // Align-item tidak dapat dibiarkan atau kanan-Item: Pusat; Align-Item: Mulai; Align-Item: AKHIR; Align-Item: Flex-Start; Align-Item: Flex-end; Align-Item: Mulai Diri; Align-Item: Self-end; // Align-Item: Penyelarasan teks dasar; Align-Item: Baseline Pertama; Align-item: baseline terakhir; // ketika elemen tumpang tindih wadah align-item: safe center; Align-item: pusat tidak aman; // Global Align-Item: Inharit; Align-Item: Awal; Align-Item: Unset;

// nilai dasar pembenaran-item: otomatis; Bustify-Item: Normal; Membenarkan-item: peregangan; // leveling posisi pembenaran-item: pusat; Membenarkan-item: Mulai; Membenarkan item: end; Membenarkan-item: mulailah fleksibel; Membenarkan-item: fleksibel; Membenarkan-item: Mulai diri; Membenarkan-item: self-end; Membenarkan-item: kiri; Membenarkan-item: benar; // garis penjajaran justifikasi-item: baseline; Membenarkan-item: baseline pertama; Membenarkan item: baseline terakhir; // ketika item tumpang tindih dengan wadah barang-barang pembenaran: safe center; Membenarkan barang: pusat tidak aman; // leveling dengan prioritas nilai pinjaman dari parent-justify-items: hak warisan; Benarkan-item: Warisan Kiri; Benarkan-item: Pusat Legacy; // benarkan-item secara global: mewarisi; Benarkan-item: Awal; Membenarkan-item: tidak disetel;

// nilai dasar tempat-item: pusat otomatis; Place-Item: Mulai normal; // posisi penyelarasan tempat-item: pusat normal; Place-Item: Mulai AUTO; Place-Item: Akhiri Normal; Place-items: Mulai diri otomatis; Place-Item: Self-end normal; Place-Item: Flex-Start Auto; Place-Item: Flex-End Normal; Place-items: Kiri otomatis; Place-Item: Normal Right; // Place Alignment Place-Item: Baseline Normal; Place-Item: AUTO BASELLE PERTAMA; Place-items: baseline terakhir normal; Tempat-item: peregangan otomatis; // item place-item global: mewarisi; Place-Item: Awal; Place-Item: Unset;

Grid-Auto-Rows: Grid-Auto-Columns:

Mengatur ukuran untuk baris / kolom / kolom implisit) yang dibuat secara otomatis.

Kolom / baris dibuat secara otomatis ketika elemen grid lebih dari ditempatkan di baris / kolom tertentu (sel-sel) atau ketika elemen terletak di luar jaringan yang ditentukan.

// sintaks: kolom grid-auto: ukuran; Grid-Auto-Rows: Ukuran;

Dimensi yang mungkin dijelaskan dalam deskripsi dan - mungkin px, em,%, fr, dll.

Contoh:

Untuk memahami bagaimana sel otomatis grid dibuat, mari kita bayangkan bahwa kita memiliki 2x2 mesh - 2 baris dan 2 kolom:

Template-template-kolom: 60px 60px; Grid-Template-Rows: 90px 90px

Sekarang, mari kita coba untuk menempatkan item di grid dengan menentukan posisi melalui properti:

Item-A (kolom-grid: 1; grid-baris: 2;) .item-B (kolom grid: 5; grid-baris: 2;)

Element.Item-B Kami diminta untuk tinggal di kolom yang tidak ada 5. Kami hanya memiliki 2 kolom, sehingga grid akan secara otomatis berkembang dan akan ditambahkan ke 3 kolom lain dengan lebar otomatis. Properti saat ini memungkinkan kami untuk mengatur ukuran untuk kolom implisit tersebut:

Kolom Grid-Auto: 60px;

Titik yang menarik untuk kolom implisit baris dan ulangi ():

Grid-Auto-Flow:

Memungkinkan Anda mengubah logika penempatan elemen dalam sel kosong. Secara default, algoritma seperti → ↓ → dapat dilakukan jadi ↓ → ↓.

Ketika item khusus tidak ditentukan di sel (wilayah) mana mereka harus diatur, maka mereka ditempatkan di sel-sel kosong. Secara default, mengisi ke kiri ke kanan (→) ke ujung baris, pergi ke baris berikutnya dan isi lagi (sepertinya kita membaca teks).

// Sintaks: Grid-Auto-Flow: Baris | Kolom | Baris padat | Kolom padat

    baris (default) - Menempatkan elemen di grid di jajaran → ↓ →. Menambahkan baris jika tidak ada tempat di grid.

    kolom. - menempatkan elemen di grid pada kolom ↓ → ↓. Menambahkan speaker jika tidak ada tempat di grid.

  • padat - Termasuk "padat" algoritma pengisian yang mencoba menempatkan item agar tidak tetap ruang kosong (algoritma "jarang" berfungsi secara default. Dalam hal ini, elemen tidak dapat diatur. Saat memasukkan setiap item selanjutnya, algoritma memeriksa apakah tidak ada sel kosong dari belakang di mana elemen saat ini cocok, jika ada, itu menempatkannya di sana dan tidak di sel berikutnya. Padat masuk akal hanya di hadapan area di grid - ini adalah ketika item ditunjukkan segera dalam beberapa sel (via span), maka biasanya tidak ditempatkan di satu sel dan tempat kosong tetap ada.

Contoh:

Misalkan kita memiliki html seperti itu:

item-a.
barang-b.
item-c.
item-d.
item-e.

Sekarang, kami telah membuat grid dengan 5 speaker dan dua baris dan dua elemen telah ditempatkan dalam sel tertentu:

Grid (tampilan: grid; grid-template: 60px 60px 60px 60px 60px / 30px 30px; / * default: grid-auto-flow: baris; * /)

Sekarang instal grid-auto-flow: kolom:

GRID:

Memungkinkan Anda mengurangi properti:

  • baris grid-template:
  • template-template-kolom:
  • area Template Grid:
  • grid-Auto-Rows:
  • kolom Grid-Auto:
  • grid-Auto-Flow:

Itu. Di properti ini, Anda dapat menggambarkan hampir semua properti grid grid. Namun, di sini Anda dapat menggambarkan properti hanya untuk baris / kolom eksplisit "atau" implisit ", segera untuk itu dan lainnya. Jika Anda perlu menentukan properti untuk itu dan yang lain, maka Anda perlu menambahkan properti yang sesuai dengan tambahan ke Grid :.

// Sintaks: Grid: None Grid: Grid-Template Grid: Grid-Template-Rows / Grid-Template-Column Grid: Grid-Template-Area Grid: Grid-Template-Template-Fooms? Grid: baris otomatis-otomatis? / grid-template-kolom // apa yang ada dalam atau apa? - Anda tidak dapat menentukan

    tidak ada - menetapkan semua properti dalam keadaan awal.

    grid-Template-Rows / Grid-Auto-Columns? - Kata kunci aliran otomatis di sisi kanan slash installs grid-auto-flow: kolom. Padat termasuk algoritma kemasan padat. Jika kolom grid-otomatis tidak ditentukan, itu akan sama dengan otomatis.

  • Grid-Auto-Rows? / grid-template-kolom - Kata kunci aliran otomatis di sisi kiri slash installs grid-auto-flow: baris. Padat termasuk algoritma kemasan padat. Jika grid-auto-baris tidak ditentukan, itu akan sama dengan otomatis.

Contoh:

Kotak: "header header header header" "utama utama utama kanan" footer footer footer footer "; // juga bahwa: area templat-grid: "header header header header" "utama utama utama kanan" footer footer footer footer "; Grid: 100px 300px / 3fr 1fr; // juga itu: grid-auto-flow: baris; Template-template-kolom: 200px 1fr; Kotak: Aliran otomatis 100px / 1fr 2fr; // juga itu: Grid-Auto-Flow: baris padat; Grid-Auto-Rows: 100px; Template-template-kolom: 1fr 2fr; Grid: 100px 300px / Auto-Flow 200px; // juga bahwa: baris grid-template: 100px 300px; Grid-auto-flow: kolom; Kolom Grid-Auto: 200px;

Anda juga dapat menentukan yang lebih kompleks, tetapi nyaman untuk menyesuaikan semuanya dan segera:

Grid: "Header Header Header" 1FR "Footer Footer Footer" 25px / Auto 50px otomatis; // juga itu: Area Grid-Template: "Header Header Header" "Footer Footer Footer"; Template-template-Template: 1FR 25px; Grid-template-kolom: auto 50px otomatis;

Dan lebih banyak opsi:

Kotak: Ulangi (Auto-Isi, 5EM) / Auto-Flow 1fr; Kotak: Auto-flow 1fr / ulangi (isi otomatis, 5EM); Kotak: AUTO 1FR AUTO / REATER (5, 1FR); Kotak: Ulangi (3, Auto) / Ulangi (4, AUTO);

Untuk elemen.

Properti CSS: float, display: inline-block, display: tab table, vertikal-align dan kolom- * Tidak ada yang mempengaruhi elemen wadah grid. Grid Grid memiliki aturannya sendiri ...

Grid-Bill-Start: Grid-Bill-end: Grid-Column-Mulai: Grid-Column-end: Grid-Row: Grid-Column:

Menentukan posisi elemen di grid. Itu. Menempatkan elemen ke sel yang ditentukan. Anda perlu menentukan nama atau nomor baris ke mana sel mengacu dan yang Anda butuhkan untuk melampirkan item.

grid-Column dan Grid-Row adalah pengurangan properti: grid-kolom-start / grid-column-end dan grid-baris-start / grid-row-end. Anda hanya dapat menentukan nilai pertama (satu), itu akan merujuk pada baris awal dan elemen akan diregangkan ke 1 baris / kolom (I.E., baris awal yang ditunjukkan) akan ditempatkan dalam satu sel).

// Sintaks: Grid-Row-Start: Nilai; // di mana garis seri grid-row-end dimulai: suatu nilai; // di mana garis seri grid-column-start berakhir: nilai; // di mana garis kolom kotak-ujung-ujung dimulai: nilai; // di mana garis kolom baris grid berakhir: grid-baris-start / grid-ro-end; Grid-Column: Grid-Column-Start / Grid-Column-End; // Anda dapat menentukan satu nilai, nilai kedua akan span 1 grid-baris: grid-baris-mulai; Grid-Column: Grid-Column-Start;

Nilai mungkin:

Contoh:

.Item-a (Grid-Column-Mulai: 2; Grid-Column-end: lima; Grid-Row-Start: ROW1-Mulai Grid-ROW-end: 3)
.Item-B (Grid-Column-Mulai: 1; Grid-Column-end: Span Col4-Start; Grid-Row-Start: 2 Grid-Bill-End: Span 2)

Jika properti grid-end-end / grid-end-end tidak diinstal, elemen default akan diregangkan ke 1 baris / kolom. Align-Self: Justify-Diri: Tempat-Diri:

Garis elemen saat ini di dalam sel. Berlaku untuk elemen terpisah dari wadah.

// Sintaks: Align-Self: Nilai; // baris elemen di dalam sel secara vertikal ↓ pembenaran-diri sendiri: nilai; // Sejajarkan elemen di dalam sel horizontal ← → tempat-diri: nilai; // Entry Entry: Mengatur nilai-nilai tempat-diri: self-justifikasi diri; // rekaman disingkat.

Nilai mungkin:

  • stretch (defailt) - Meregangkan elemen saat ini ke seluruh lebar / ketinggian sel.
  • mulailah. - Tempatkan elemen saat ini di awal sel (kiri atau lebih tinggi).
  • akhir. - Tempatkan elemen saat ini di ujung sel (kanan atau bawah).
  • pusat - Tempatkan elemen saat ini di tengah sel.

Nilai langka:

    nilai aman. - Jika lebar atau tinggi elemen melebihi ukuran sel, nilai sakelar untuk memulai. Dalam arti di sini hanya bisa: tengah atau akhir.

    # Bingkai untuk aplikasi game

    #Grid (/ ** * dua kolom: * 1. Menyesuaikan ke konten, * 2. Mendapat semua spasi yang tersisa * (tetapi tidak dapat kurang dari ukuran konten minimum di dalamnya atau mengontrol blok di kolom yang sama) * * Tiga baris: * 1. Menyesuaikan dengan konten, * 2. Mendapat semua ruang kosong * (tetapi tidak boleh kurang dari ukuran minimum dari salah satu blok dalam Baris ETMO) * 3. Menyesuaikan ke Konten. * / Tampilan: Grid ; Kotak-template-kolom: / * 1 * / Auto / * 2 * / 1FR; Template-Template-Template: / * 1 * / Auto / * 2 * / 1FR / * 3 * / Auto; / * menyebar ke atas seluruh tinggi * / tinggi: 100VH;) / * Menentukan posisi blok di grid menggunakan koordinat * / #title (grid-kolom: 1; grid-baris: 1;) #Score (grid-kolom: 1; Baris: 3;) #stats (grid-kolom: 1; grid-baris: 2;) # board-baris: 1 / span 2;) #controls (grid-kolom: 2; grid-row: 3; justifikasi : Pusat;)
    Judul game
    Skor
    Statistik.
    Naik
    Kontrol.

    Lengkapi tugasnya.

    Sekarang kita perlu membuatnya sehingga ketika Anda memutar perangkat seluler, bingkai telah berubah dan ternyata seperti ini:

    Dalam hal ini, akan lebih nyaman untuk menggunakan area grid grid.

    / * Orientasi Buku * / @Media (Orientasi: Potret) (#Grid (Display: Grid; / * Buat struktur grid dan tunjukkan nama-nama area, * Struktur seperti itu akan bekerja secara default dan berlaku untuk orientasi lanskap. * / Grid-template- area: "judul statistik" "Statistik skor" "papan papan" "ctrls ctrls"; / * Kami menunjukkan ukuran untuk baris dan kolom. * / Grid-template-kolom: Otomatis 1FR; Template-baris: Auto Auto 1Fr Otomatis; Tinggi: 100VH;)) / * Laying Orientasi * / @Media (orientasi: lanskap) (#grid (display: grid; / * Buat struktur grid dan tunjukkan nama-nama area, * Struktur seperti itu akan bekerja secara default dan mengajukan orientasi lanskap. * / Grid-template-Area: "papan judul" "Stats board" "Skor Ctrls"; / * Kami menunjukkan ukuran untuk baris dan kolom. * / Grid -Template-kolom: auto 1fr; baris-template-template: AUTO 1FR AUTO; tinggi: 100VH;) / * Elemen tempat dalam bernama mesh * / #title (area grid: title;) #Score (area grid:) Skor;) #st ATS (area grid: statistik; ) #board (area grid: board;) #Controls (area grid: Ctrl; justifikasi-diri:)

    Judul game
    Skor
    Statistik.
    Naik
    Kontrol.

    Mendukung browser

    Grid mendukung 92% dari browser.

    Di bawah dukungan untuk browser grid sesuai dengan CAMIUSE. Angka menunjukkan bahwa peramban mendukung fungsi dalam versi ini dan di atas.

    Desktop.

    Chrome. Opera. Firefox. YAITU Tepi. Safari.
    57 44 52 11* 16 10.1

    Seluler / Tablet.

    iOS safari. Opera Mobile. Opera Mini. Android. Android Chrome. Android Firefox.
    10.3 - - 62 66 57

    Untuk memeriksa CSS, ia mendukung browser grid saat ini, Anda dapat menggunakan @Support (IE tidak berfungsi):

    @Support (Display: Grid) (/ * Grid didukung oleh browser * / DIV (Display: Grid;) @Supports Not (Display: Grid) (/ * Grid tidak didukung oleh browser * / DIV (Display: Flex) ;))


Grid.- Addon kompak untuk RAID atau grup memiliki pengaturan terluas.
Compactly menunjukkan komposisi dan status serangan atau partai saat ini dalam bentuk mesh untuk persepsi yang lebih baik tentang keadaan RAID ketika inspeksi fasih sangat berguna untuk melestarikan konsentrasi dalam pertempuran. Dengan itu, Anda dapat dengan cepat menghargai situasi tanpa kehilangan waktu yang berharga, jangan mempertajam perhatian dan bukan merica ke dalam bingkai pemain yang terpisah. Ini menampilkan banyak informasi yang diinginkan dan bermanfaat yang berkaitan dengan pemain. Memungkinkan Anda mengkonfigurasi informasi mana yang ingin Anda lihat dan bagaimana itu akan output.
Grid termasuk modul:

  • Kesehatan
  • Mana / energi
  • Perawatan yang masuk.
  • Modul AGGRO (Tingkat Ancaman)
  • Bafa / Debafa
  • Jarak
  • Dukungan hewan peliharaan dan kendaraan
Menariknya menerapkan pengajuan informasi tergantung pada keadaan saat ini.
Untuk menampilkannya dapat digunakan:
  • Teks di tengah.
  • Ikon di tengah.
  • Bingkai bingkai setiap pemain.
  • Bingkai transparansi.
  • Kotak berwarna di empat sudut.

Karena addon dibangun di atas blok, bagi mereka yang memahami adduksi, tidak sulit untuk menambahkan status baru modul atau indikator yang ditampilkan. Apa yang akan memberi lebih banyak individualitas dan akan memungkinkan lebih halus untuk menyesuaikan addon dengan kebutuhan mereka.

Addon Grid Setup.melalui ikon pada peta mini atau gunakan perintah untuk obrolan / grid

Menu pengaturan, meskipun terlihat sangat menakutkan karena fungsional yang besar, jadi saran saya untuk Anda - menghabiskan beberapa menit untuk mempelajari kesempatan untuk mencapai informativitas terbesar bagi Anda.