Dalam pengenalan ini kepada grid, kami akan berjalan melalui asas -asas bagaimana susun atur grid berfungsi, dan kami akan melihat banyak contoh mudah bagaimana menggunakannya dalam amalan.
Takeaways Key
Bermula dengan grid semudah melakukan ini:
<span><span>.container</span> { </span> <span>display: grid; </span><span>} </span>
Lihat Pen
Asas Grid CSS: Paparan: Grid oleh SitePoint (@SitePoint)
pada codepen.
Bacaan Lanjut: Dalam demo di atas, bekas itu berpusat di viewport. Baca lebih lanjut mengenai elemen berpusat dengan grid. Lihat Pen
Sekarang item grid kami dibentangkan dalam satu baris, seperti yang ditunjukkan di bawah. Lihat Pen pada codepen. Bacaan Lanjut:
Maklumat lanjut mengenai grid-template-baris. Cara menggunakan fungsi berulang () grid. Terdapat lima garisan grid menegak dan empat garisan grid mendatar, semuanya bernombor. Kita boleh menggunakan garisan grid ini untuk menentukan bagaimana kita mahu item grid kita dibentangkan. mari kita tetapkan pertama Ini memberitahu mari kita buat sesuatu yang serupa dengan satu -satunya perbezaan di sini ialah kami telah menetapkan Sekarang mari kita meletakkan unsur -unsur Hasilnya ditunjukkan dalam pen di bawah. lihat pen
Cuba variasi ini dalam pen di atas. Bacaan Lanjut: Kami telah melihat bagaimana untuk mengatur unsur -unsur di grid menggunakan garisan grid bernombor. Tetapi kita juga boleh memberikan nama kepada beberapa atau semua garisan grid kita dan merujuknya - yang boleh menjadi lebih intuitif dan menyelamatkan kita daripada mengira garis grid. mari kita mengemas kini susun atur kami untuk memasukkan beberapa baris bernama: Dalam kod di atas, kami telah menamakan hanya tiga garisan grid menegak. Nama -nama itu masuk dalam kurungan persegi di sebelah lebar lajur kami, mewakili garis lajur kami. sekarang kita boleh meletakkan beberapa elemen kami di grid seperti: kita dapat melihat kod ini dalam amalan dalam demo di bawah. Lihat pen
Menggunakan grid-templat-kawasan, kami telah membuat grid teks mudah yang menyatakan bagaimana kami mahu unsur-unsur yang dibentangkan. Sekarang kita hanya perlu menggunakan nama -nama kawasan ini kepada unsur -unsur kita: Jadi,
asas grid css: meletakkan item menggunakan kawasan nama oleh sitepoint (@sitePoint)
Perlu diperhatikan bahawa kita juga boleh menggunakan nombor baris dan/atau dinamakan garis untuk menentukan kawasan grid. Sebagai contoh, bukannya menggunakan harta tanah grid-template, kita hanya boleh melakukan sesuatu seperti ini: Corak adalah baris-permulaan / lajur-permulaan / baris-end / lajur-end. Anda boleh menyemak demo ini di Codepen . Secara peribadi, saya merasa sangat sukar untuk mengingati corak baris dan lajur ini, tetapi perkara yang hebat tentang grid adalah bahawa terdapat banyak cara untuk melakukan perkara yang sama. Pada hari -hari lama, jika kami memutuskan pada satu ketika untuk menukar susun atur elemen halaman kami, ia mungkin akan membawa kepada banyak refactoring kod. Sebagai contoh, bagaimana jika kita mahu melanjutkan elemen
Asas Grid CSS: Menempatkan Item Menggunakan Kawasan Dinamakan 2 oleh SitePoint (@SitePoint)
Bacaan Lanjut: Ketahui lebih lanjut mengenai grid-template-areas. kami kini telah menetapkan hanya satu lajur, dan tetapkan urutan unsur -unsur dalam lajur itu. Asas Grid CSS: Menggunakan Pertanyaan Media oleh SitePoint (@SitePoint)
Kami berada di titik yang baik sekarang untuk melihat betapa mudahnya untuk menukar urutan paparan elemen dalam susun atur grid. Dalam contoh di atas, urutan sumber kami adalah kita boleh menyusun semula elemen grid walaupun tidak menggunakan elemen bernama. Secara lalai, item grid diletakkan mengikut urutan sumber HTML mereka. Mereka juga mempunyai urutan lalai 0. Kita boleh menggunakan harta pesanan ini untuk mengubah susunan visual elemen. Semakin rendah nilai pesanan, semakin cepat elemen muncul. Malah bilangan bulat negatif boleh digunakan, jadi jika elemen Untuk memerintahkan unsur -unsur kami seperti yang ditunjukkan di atas, kami dapat menetapkan nilai pesanan Kata -kata berhati -hati, walaupun: unsur -unsur yang disusun semula boleh menjadi mimpi ngeri untuk kebolehcapaian, dengan tumpuan melompat di sekitar skrin tidak dapat diramalkan, jadi gunakannya dengan berhati -hati. Bacaan Lanjut:
Asas Grid CSS: Grid Responsif Tanpa Pertanyaan Media oleh SitePoint (@SitePoint) Kod itu sedikit lebih maju, dan kami menerangkannya secara terperinci mengenai cara menggunakan fungsi CSS Grid Repeat (). Tujuan utama menunjukkannya di sini adalah untuk memberi gambaran tentang apa yang mungkin dengan susun atur grid. Bacaan Lanjut: Sebaik sahaja kami telah membuat susun atur grid, kami boleh melakukan lebih daripada sekadar memperuntukkan setiap item grid ke kawasan grid yang berasingan. Kita boleh dengan mudah menetapkan item grid untuk berkongsi kawasan grid yang sama, sebahagian atau sepenuhnya. Ini membolehkan kita membuat susun atur yang cantik dan kreatif - dengan unsur -unsur bertindih, dan tanpa sebarang kod rumit. Mari buat grid mudah yang mengandungi imej dan beberapa teks yang sebahagiannya meliputi imej. Inilah HTML: Sekarang kita akan menetapkan beberapa baris dan lajur yang sebahagiannya dikongsi antara div dan imej: Hasilnya ditunjukkan dalam demo codepen berikut. Lihat pen
yang boleh anda pelajari mengenai grid.
grid vs flexbox sebagai peraturan umum, ingatlah ini:
Untuk perbandingan lebih mendalam grid dan flexbox, lihat Flexbox atau CSS Grid? Bagaimana membuat keputusan susun atur yang masuk akal. Apabila kami mula -mula menerbitkan artikel ini - kembali pada tahun 2016 - Grid agak baru kepada pelayar, dan sokongan tidak universal. Pada masa kini, semua penyemak imbas utama menyokong grid. Masih terdapat beberapa pelayar yang lebih tua yang terapung di sekitar yang tidak menyokongnya, tetapi dalam banyak kes, pelayar tersebut masih akan memaparkan kandungan dengan cukup baik. Satu pendekatan tangkapan yang bagus adalah bermula dengan susun atur tunggal untuk peranti mudah alih yang boleh berfungsi sebagai sandaran untuk penyemak imbas yang tidak menyokong susun atur grid. Gaya grid boleh ditambah melalui pertanyaan media untuk penyemak imbas yang menyokong mereka - untuk dipaparkan pada skrin yang lebih luas. anda boleh menyemak sokongan penyemak imbas terkini untuk grid di CANIUSE. Akhirnya, mari kita berakhir dengan beberapa sumber pembelajaran selanjutnya. Banyak orang yang menakjubkan telah menyediakan tutorial, video, buku dan banyak lagi di grid. Berikut hanya beberapa: Ya, grid CSS boleh responsif. Anda boleh menggunakan pertanyaan media, peratusan, atau unit relatif untuk menyesuaikan susun atur grid anda ke saiz dan peranti skrin yang berbeza.
Dalam contoh di atas, kita mempunyai elemen <span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
mari kita ruang pertama div kami sedikit dengan harta jurang:
<span><span>.container</span> {
</span> <span>display: grid;
</span><span>}
</span>
Asas Grid CSS: Gap oleh SitePoint (@SitePoint)
pada codepen.
Pada masa ini, kami mempunyai grid "tersirat" - yang bermaksud bahawa penyemak imbas hanya memikirkan grid untuk dirinya sendiri, kerana kami belum menentukan sebarang baris atau lajur lagi. Secara lalai, kami hanya mendapat satu lajur dan empat baris - satu untuk setiap item grid. Mari kita tentukan beberapa lajur:
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
Pertama, kami akan menentukan tiga baris dengan harta tanah-template-baris:
<span><span>.container</span> {
</span> <span>display: grid;
</span> <span>gap: 10px;
</span><span>}
</span>
<span><span>.container</span> {
</span> <span>display: grid;
</span><span>}
</span>
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
<span><span>.container</span> {
</span> <span>display: grid;
</span> <span>gap: 10px;
</span><span>}
</span>
asas grid CSS: meletakkan item dengan garisan bernombor oleh SitePoint (@SitePoint)
pada codepen.
Jika anda melihat semula imej di atas, anda akan melihat bahawa, di sepanjang bahagian bawah, garis menegak juga dinamakan dengan nombor negatif. Setiap garis grid mempunyai nombor positif dan negatif. Ini mempunyai banyak kegunaan, seperti ketika terdapat banyak garisan grid dan kita tidak semestinya tahu berapa banyak yang akan ada. Kami boleh menetapkan elemen
meletakkan item grid menggunakan garisan grid bernama
<span><span>.container</span> {
</span> <span>display: grid;
</span><span>}
</span>
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
asas grid CSS: meletakkan item dengan garis yang dinamakan oleh SitePoint (@SitePoint)
pada codepen.
Salah satu ciri susun atur grid yang paling menarik dan "pereka" adalah keupayaan untuk menamakan kawasan grid-iaitu, satu atau lebih sel dalam grid-dengan cara yang mudah dan intuitif, dan kemudian gunakan nama tersebut untuk Letakkan item grid kami. Ia berfungsi seperti ini:
<span><span>.container</span> {
</span> <span>display: grid;
</span> <span>gap: 10px;
</span><span>}
</span>
<span><span>.container</span> {
</span> <span>display: grid;
</span> <span>gap: 10px;
</span> <span>grid-template-columns: 1fr 1fr 1fr 1fr;
</span><span>}
</span>
menggunakan nombor baris dan dinamakan garis dengan kawasan grid
<span><span>.container</span> {
</span> <span>display: grid;
</span><span>}
</span>
menukar susun atur item grid
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
pada codepen.
kita mungkin memutuskan bahawa kita mahu sel kosong di suatu tempat. Kami berbuat demikian dengan hanya menggunakan satu atau lebih tempoh, seperti itu: <span><span>.container</span> {
</span> <span>display: grid;
</span> <span>gap: 10px;
</span><span>}
</span>
Ketahui lebih lanjut mengenai harta tanah grid.
Kami sering menginginkan susun atur yang berbeza pada skrin kecil - seperti menyusun elemen grid kami dalam satu lajur. Cara mudah untuk melakukan ini adalah untuk menyusun semula kawasan grid kami melalui pertanyaan media:
<span><span>.container</span> {
</span> <span>display: grid;
</span> <span>gap: 10px;
</span> <span>grid-template-columns: 1fr 1fr 1fr 1fr;
</span><span>}
</span>
menukar pesanan paparan item grid
Spesifikasi rasmi untuk harta pesanan.
susun atur grid responsif tanpa pertanyaan media
kita melihat di atas bahawa kita boleh membuat susun atur kita responsif kepada saiz skrin yang berbeza. Pertama, dengan menetapkan lebar lajur ke unit fleksibel seperti FR, susun atur boleh tumbuh dan mengecut seperti yang diperlukan. Kedua, kita boleh menggunakan pertanyaan media untuk menyusun semula susun atur pada titik putus tertentu. <span><span>.container</span> {
</span> <span>display: grid;
</span><span>}
</span>
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
pada codepen.
(sekali lagi, tekan butang 0.5x di bahagian bawah pen di atas untuk melihat bagaimana susun atur bertindak balas.)
elemen bertindih dalam grid
<span><span>.container</span> {
</span> <span>display: grid;
</span><span>}
</span>
<span><span><span><div</span> class<span>="container"</span>></span>
</span> <span><span><span><header</span>></span>header<span><span></header</span>></span>
</span> <span><span><span><aside</span>></span>aside<span><span></aside</span>></span>
</span> <span><span><span><main</span>></span>main<span><span></main</span>></span>
</span> <span><span><span><footer</span>></span>footer<span><span></footer</span>></span>
</span><span><span><span></div</span>></span>
</span>
asas grid CSS: unsur grid berlapis oleh sitepoint (@sitePoint)
pada codepen.
Artikel ini dimaksudkan sebagai pengenalan asas kepada susun atur grid CSS. Harapannya ialah ia akan menyediakan batu loncatan untuk pembelajaran dan penemuan selanjutnya. Dan ada jumlah
besar Persoalan abadi adalah sama ada kita harus menggunakan grid atau flexbox. Memang benar terdapat beberapa pertindihan antara apa yang boleh dilakukan oleh kedua -dua alat susun atur ini. Sering kali, di mana terdapat pertindihan, ia patut melakukan beberapa ujian untuk melihat yang mempunyai toolkit yang lebih baik dalam setiap senario tertentu.
sokongan penyemak imbas untuk grid
sumber pembelajaran untuk grid
Soalan Lazim mengenai susun atur grid CSS
Apakah susun atur grid CSS?
susun atur grid CSS adalah sistem susun atur dalam CSS yang membolehkan anda membuat susun atur berasaskan grid dua dimensi yang kompleks untuk halaman web. Ia menyediakan cara yang lebih fleksibel dan cekap untuk merancang dan meletakkan unsur -unsur dalam grid. grid; harta dalam kod CSS anda. Ini akan menjadikan bekas yang dipilih sebagai bekas grid.
Bolehkah saya bersarang grid dalam grid? Bolehkah saya membuat grid menyesuaikan diri dengan saiz skrin yang berbeza?
Atas ialah kandungan terperinci Panduan pemula ' s ke susun atur grid CSS. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!