cari
Rumahhujung hadapan webtutorial cssAnimasi CSS Grid (Cara Contoh)

Animating CSS Grid (How To   Examples)

CSS Grid's

dan Properties kini boleh didapati untuk animasi dalam semua pelayar utama! Malah, grid CSS telah lama menyokong animasi kerana ia dibina ke dalam spesifikasi modul susun atur CSS Grid Tahap 1. grid-template-rows grid-template-columns Tetapi sehingga baru -baru ini, ketiga -tiga pelayar utama menyokong sepenuhnya animasi sifat mesh ini. Mari lihat beberapa contoh untuk memberi inspirasi kepada kreativiti anda!

katalog

katalog
  • Contoh 1: Kembangkan bar sisi
  • Contoh 2: Kembangkan panel
  • Contoh 3: Tambah baris dan lajur
  • lebih banyak contoh
  • Contoh 1: Kembangkan bar sisi

Pertama sekali, inilah yang akan kita bincangkan:

grid dua lajur mudah. Sebelum ini, anda mungkin tidak akan membinanya dengan grid CSS kerana animasi dan peralihan tidak disokong, tetapi bagaimana jika anda mahu lajur kiri (mungkin navigasi sidebar) untuk berkembang pada hover? Sekarang, ini mungkin.

Saya tahu apa yang anda fikirkan: "Atribut CSS Animasi? Sekeping kek, saya telah melakukannya selama bertahun -tahun!" Walau bagaimanapun, saya menghadapi halangan yang menarik apabila mencuba kes penggunaan tertentu.

jadi kami mahu menukar mesh itu sendiri (terutamanya

ditetapkan pada kelas

dalam contoh). Tetapi lajur kiri () adalah pemilih yang memerlukan kelas pseudo .grid. Walaupun JavaScript dapat menyelesaikan masalah ini dengan mudah - terima kasih, tidak perlu - kita boleh melaksanakannya dengan hanya CSS. grid-template-columns .left mari kita jelaskan keseluruhan proses langkah demi langkah, bermula dengan HTML. Ia sebenarnya sangat standard ... grid dengan dua lajur. :hover

Decorative CSS diketepikan, anda perlu menetapkan

pada bekas induk (
<div class="grid">
  <div class="left"></div>
  <div class="right"></div>
</div>
).

.grid display: grid Seterusnya, kita boleh menggunakan atribut

untuk menentukan dan mengubah saiz kedua lajur. Kami menetapkan lajur kiri sangat sempit dan kemudian meningkatkan lebarnya apabila melayang. Lajur di sebelah kanan akan mengambil seluruh ruang, terima kasih kepada kata kunci
.grid {
  display: grid;
}
.

grid-template-columns auto kita tahu kita mahu menghidupkannya, jadi mari kita tambahkan kesan peralihan sambil menambah animasi supaya perubahan antara negeri akan lancar dan jelas.

.grid {
  display: grid;
  grid-template-columns: 48px auto;
}

sudah selesai! Selebihnya ialah keadaan hover aplikasi. Khususnya, kami akan menimpa harta
.grid {
  display: grid;
  grid-template-columns: 48px auto;
  transition: 300ms; /* 根据需要更改 */
}
supaya lajur kiri mengambil lebih banyak ruang apabila melayang.

.grid Ini sahaja tidak begitu menyeronokkan, walaupun grid CSS kini menyokong animasi dan peralihan. Apa yang lebih menarik ialah kita boleh menggunakan kelas pseudo yang agak baru untuk menggayakan bekas induk (grid-template-columns) apabila elemen kanak-kanak (

) dilegakan.

<div class="grid">
  <div class="left"></div>
  <div class="right"></div>
</div>

Dalam bahasa Inggeris yang mudah, ini bermakna: "Jika bekas .grid mengandungi elemen yang dinamakan .left dan elemennya melayang, kemudian lakukan beberapa operasi pada bekas .grid. Kami akhirnya boleh memilih elemen induk berdasarkan unsur -unsur kanak -kanak yang terkandung - tiada JavaScript diperlukan! :has()

Jadi mari kita tingkatkan lebar lajur

hingga 30% apabila melayang. Lajur .left akan terus menduduki semua ruang yang tinggal: .right

.grid {
  display: grid;
}
Kami juga boleh menggunakan pembolehubah CSS, yang mungkin atau mungkin tidak kelihatan ringkas, bergantung pada keutamaan peribadi anda (atau anda mungkin menggunakan pembolehubah CSS dalam projek anda):

.grid {
  display: grid;
  grid-template-columns: 48px auto;
}
Saya sangat menyukai grid CSS kini boleh membuat animasi, tetapi hakikat bahawa kita boleh membina contoh khusus ini dengan hanya sembilan baris kod CSS bahkan lebih menakjubkan.

Ini adalah satu lagi contoh Olivia ng -konsep yang serupa, tetapi mengandungi kandungan (klik pada ikon navigasi):

Contoh 2: Kembangkan panel

Contoh ini menukarkan bekas grid (lebar lajur) dan juga menukarkan lajur individu (warna latar belakang mereka). Ia sesuai untuk menyediakan lebih banyak kandungan pada hover.

Perlu diingat bahawa fungsi

kadang -kadang menghasilkan peralihan yang salah, itulah sebabnya saya menetapkan lebar setiap lajur secara berasingan (iaitu repeat()). grid-template-columns: 1fr 1fr 1fr

Contoh 3: Tambah baris dan lajur

Contoh ini menghidupkan lajur ke grid. Tetapi -anda meneka -ada juga perangkap untuk keadaan ini. Keperluannya ialah lajur "baru" tidak boleh disembunyikan (iaitu ditetapkan ke

) dan bahawa grid CSS mesti mengakui kewujudannya apabila ia menetapkan lebarnya kepada 0FR. display: none

Jadi untuk grid tiga lajur -

(ya, unit mesti diisytiharkan walaupun nilai itu 0!) Akan ditukar dengan betul ke grid-template-columns: 1fr 1fr 0fr, tetapi grid-template-columns: 1fr 1fr 1fr tidak akan. Di belakang, ini sebenarnya benar -benar munasabah memandangkan pemahaman kita tentang bagaimana peralihan berfungsi. grid-template-columns: 1fr 1fr

Ini adalah satu lagi contoh Michelle Barker -konsep yang sama, tetapi dengan lajur dan kesan yang lebih sejuk. Pastikan untuk menjalankan contoh ini dalam mod skrin penuh, kerana ia sebenarnya responsif (tiada helah, hanya reka bentuk yang baik!).

lebih banyak contoh

mengapa tidak?

"Mondrian animasi" ini adalah bukti awal konsep untuk grid CSS animasi yang dihasilkan oleh Chrome Devrel.

dan grid-row gunakan kata kunci grid-column untuk membuat susun atur yang anda lihat sebelum anda, dan kemudian gunakan animasi CSS untuk menghidupkan span dan grid-template-row. Ia tidak begitu rumit kerana ia kelihatan! grid-template-column

Konsep yang sama, tetapi lebih banyak kesan sejuk Michelle Barker. Bolehkah anda membuat pemutar pemuatan yang baik?

Akhirnya mengkaji nostalgia (saya berumur di sini), Andrew Harvard membuat grid CSS animasi yang tidak seperti grid. Sama - konsep yang sama - anda tidak dapat melihat item grid lain. Tetapi jangan risau, mereka ada di sana.

Atas ialah kandungan terperinci Animasi CSS Grid (Cara Contoh). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Apakah grid CSS?Apakah grid CSS?Apr 30, 2025 pm 03:21 PM

CSS Grid adalah alat yang berkuasa untuk mewujudkan susun atur web yang rumit dan responsif. Ia memudahkan reka bentuk, meningkatkan kebolehcapaian, dan menawarkan lebih banyak kawalan daripada kaedah yang lebih lama.

Apakah CSS Flexbox?Apakah CSS Flexbox?Apr 30, 2025 pm 03:20 PM

Artikel membincangkan CSS Flexbox, kaedah susun atur untuk penjajaran yang cekap dan pengedaran ruang dalam reka bentuk responsif. Ia menerangkan penggunaan Flexbox, membandingkannya dengan grid CSS, dan butiran sokongan penyemak imbas.

Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Bagaimanakah kita boleh membuat laman web kami responsif menggunakan CSS?Apr 30, 2025 pm 03:19 PM

Artikel ini membincangkan teknik untuk membuat laman web responsif menggunakan CSS, termasuk tag Meta Viewport, grid fleksibel, media cecair, pertanyaan media, dan unit relatif. Ia juga meliputi menggunakan grid CSS dan Flexbox bersama -sama dan mengesyorkan rangka kerja CSS

Apakah harta saiz kotak CSS?Apakah harta saiz kotak CSS?Apr 30, 2025 pm 03:18 PM

Artikel ini membincangkan harta saiz kotak CSS, yang mengawal bagaimana dimensi elemen dikira. Ia menerangkan nilai seperti kotak kandungan, kotak sempadan, dan kotak padding, dan kesannya terhadap reka bentuk susun atur dan penjajaran bentuk.

Bagaimanakah kita boleh menghidupkan CSS?Bagaimanakah kita boleh menghidupkan CSS?Apr 30, 2025 pm 03:17 PM

Artikel membincangkan membuat animasi menggunakan CSS, sifat utama, dan menggabungkan dengan JavaScript. Isu utama adalah keserasian penyemak imbas.

Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Bolehkah kita menambah transformasi 3D ke projek kami menggunakan CSS?Apr 30, 2025 pm 03:16 PM

Artikel membincangkan menggunakan CSS untuk transformasi 3D, sifat utama, keserasian penyemak imbas, dan pertimbangan prestasi untuk projek web. (Kira -kira aksara: 159)

Bagaimana kita boleh menambah kecerunan dalam CSS?Bagaimana kita boleh menambah kecerunan dalam CSS?Apr 30, 2025 pm 03:15 PM

Artikel ini membincangkan menggunakan kecerunan CSS (linear, radial, mengulangi) untuk meningkatkan visual laman web, menambah kedalaman, fokus, dan estetika moden.

Apakah unsur-unsur pseudo dalam CSS?Apakah unsur-unsur pseudo dalam CSS?Apr 30, 2025 pm 03:14 PM

Artikel membincangkan unsur-unsur pseudo dalam CSS, penggunaannya dalam meningkatkan gaya HTML, dan perbezaan dari kelas pseudo. Menyediakan contoh praktikal.

See all articles

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

Muat turun versi mac editor Atom

Muat turun versi mac editor Atom

Editor sumber terbuka yang paling popular

VSCode Windows 64-bit Muat Turun

VSCode Windows 64-bit Muat Turun

Editor IDE percuma dan berkuasa yang dilancarkan oleh Microsoft