Pembuatan: Netlify ' s Million Devs SVG Site Animation
Artikel ini memperincikan penciptaan mikrosit "Million Devs" Netlify, yang memberi tumpuan kepada proses animasi. Laman ini menggunakan SVG yang besar sebagai asasnya, dengan bijak dipecahkan ke dalam komponen VUE yang boleh diurus untuk pengurusan dan manipulasi yang lebih mudah.
Membina aplikasi Vue dalam SVG
SVG bertindak sebagai sistem koordinat (berfikir Battleship!), Dengan x, y, lebar, dan elemen yang menentukan ketinggian. Aplikasi VUE utama mengandungi tajuk dan SVG yang besar. SVG ini terus diburukkan lagi ke dalam komponen Vue yang lebih kecil dan boleh diguna semula:
- Laluan: Komponen berasingan untuk pandangan desktop dan mudah alih, dikawal oleh VUEX State.
- Stesen: 27 komponen stesen individu (plus label teks), bersama -sama dengan unsur -unsur hiasan (pokok, semak, dll.), Yang dianjurkan oleh tahun untuk organisasi yang lebih baik.
- "Anda berada di sini" penanda: Secara kondisif untuk pandangan desktop dan pengguna log masuk.
Fleksibiliti SVG membolehkan SVG bersarang, menentukan x, y, lebar, dan ketinggian setiap anak SVG untuk meletakkannya dengan tepat di dalam ibu bapa.<g></g>
Unsur -unsur (serupa dengan HTML Divs) komponen kumpulan. Contoh komponen setahun:
<template> <g> <app-tree x="650" y="5500"></app-tree> <app-tree x="700" y="5550"></app-tree> <app-bush x="750" y="5600"></app-bush> <app-virtual x="1200" xsmall="50" y="6000" ysmall="15100"></app-virtual> <app-text num="20" url-slug="jamstack-conf-virtual" x="1400" xsmall="50" y="6500" ysmall="15600"> <template v-slot:date>27 Mei 2020</template> <template v-slot:event>Jamstack conf virtual</template> </app-text> … </g> </template> <script> import { AppText, AppTree, AppBush, AppStreetlamp2, } from "@/components"; export default { components: { AppText, AppTree, AppBush, AppStreetlamp2, AppBuildPlugins: () => import("@/components/AppBuildPlugins.vue"), AppMillion: () => import("@/components/AppMillion.vue"), AppVirtual: () => import("@/components/AppVirtual.vue"), }, }; </script>
Perhatikan pemuatan komponen segerak dan tidak segerak untuk pengoptimuman prestasi.
Animasi SVG dengan GSAP dan Scrolltrigger
Animasi Leverage Greensock (GSAP) dan plugin Scrolltriggernya. Logik Animasi Teras:
import {GSAP} dari "GSAP"; import {scrolltrigger} dari "gsap/scrolltrigger.js"; import {MapState} dari "Vuex"; GSAP.RegisterPlugin (ScrollTrigger); Eksport Lalai { dikira: { ... mapstate (["toggleconfig", "startconfig", "isanimationdisabled", "viewportSize"]), }, Kaedah: { jilbilyanim () { biarkan vm = ini; Biarkan TL; const isscrollelconfig = { Scrolltrigger: { Pencetus: `.million $ {vm.num}`, toggleactions: this.toggleconfig, Mula: this.startconfig, }, Lalai: { Tempoh: 1.5, kemudahan: "sine", }, }; // ... logik animasi ... }, }, dipasang () { this.millionanim (); }, };
VUEX menguruskan toggleConfig
(mengawal pencetus animasi) dan startConfig
(menentukan titik permulaan animasi). Animasi spanduk ditangani secara berbeza daripada animasi yang dicetuskan tatal. Timelines menggunakan label untuk kawalan animasi yang tepat. Contoh animasi kaki berayun:
tl.add (`juta $ {vm.num}`) . dari ( "#front-leg-r", { Tempoh: 0.5, putaran: 10, Transformorigin: "50% 0%", Ulang: 6, Yoyo: Benar, kemudahan: "sine.inout", }, `juta $ {vm.num}` ) . dari ( "#Front-Leg-l", { Tempoh: 0.5, putaran: 10, Transformorigin: "50% 0%", Ulang: 6, Yoyo: Benar, kemudahan: "sine.inout", }, `juta $ {vm.num} = 0.25` );
Animasi Togol dan Kebolehcapaian
Togol yang dikawal oleh VUEX membolehkan pengguna melumpuhkan animasi. Negeri isAnimationDisabled
ditonton, dan animasi scrolltrigger dijeda atau ditetapkan semula dengan sewajarnya, tanpa menggunakan .kill()
untuk membolehkan memulakan semula.
Pertimbangan kebolehcapaian termasuk menggunakan role="img"
untuk unsur -unsur hiasan dan ID dan tajuk unik untuk elemen interaktif, memastikan pembaca skrin dapat menavigasi tapak dengan berkesan. Contoh komponen teks menunjukkan cara menjadikan teks SVG dapat diakses:
<template> <a :href="//m.sbmmt.com/link/8f7f2375ba3e2ee3adf67d0e32c683d5"> </a> <title id="analyticsuklaunch">Pelancaran analisis</title> <g> <text transform="translate(7.6 14)"><slot name="date">13 Jul 2016</slot></text> <text transform="translate(16.5 48.7)"><slot name="event">Sesuatu di sini</slot></text> <text transform="translate(16.5 70)"><slot name="event2"></slot></text> <text transform="translate(164.5 104.3)">Lihat Milestone</text> </g> </template>
Repositori GitHub projek adalah sumber terbuka. Penulis mengakui sumbangan rakan sekerja mereka.
Atas ialah kandungan terperinci Pembuatan: Netlify ' s Million Devs SVG Site Animation. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

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

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Opacity adalah atribut dalam CSS yang mengawal ketelusan keseluruhan elemen, dengan nilai dari 0 (sepenuhnya telus) hingga 1 (sepenuhnya legap). 1. Ia sering digunakan untuk kesan memudar imej, dan meningkatkan pengalaman interaktif dengan menetapkan peralihan kelegapan; 2. Membuat lapisan topeng latar untuk meningkatkan kebolehbacaan teks; 3. Maklum balas visual butang kawalan atau ikon dalam keadaan kurang upaya. Perhatikan bahawa ia memberi kesan kepada semua elemen kanak -kanak, tidak seperti RGBA, yang hanya mempengaruhi bahagian warna yang ditentukan. Animasi yang lancar boleh dicapai dengan peralihan, tetapi penggunaan yang kerap boleh menjejaskan prestasi. Adalah disyorkan untuk menggunakannya dalam kombinasi dengan perubahan atau perubahan. Aplikasi rasional kelegapan dapat meningkatkan hierarki halaman dan interaktiviti, tetapi ia harus mengelakkan campur tangan dengan pengguna.

Accent-color adalah atribut yang digunakan dalam CSS untuk menyesuaikan warna-warna sorot elemen bentuk seperti kotak pilihan, butang radio dan slider; 1. Ia secara langsung mengubah warna lalai keadaan yang dipilih dari kawalan borang, seperti menukar tanda semak biru kotak semak menjadi merah; 2. Unsur yang disokong termasuk kotak input Type = "Checkbox", Type = "Radio" dan Type = "Range"; 3. Menggunakan warna aksen boleh mengelakkan gaya tersuai kompleks dan struktur dom tambahan, dan mengekalkan kebolehcapaian asli; 4. Ia umumnya disokong oleh pelayar moden, dan pelayar lama perlu diturunkan; 5. Set Accent-Col

The: mempunyai () pseudo-classincsallowstargetingingaparentelementbasedonitschildelements.itworksbyusingthesyntaxparent: mempunyai (kanak-kanak-selektor) toapplyStylesconditionally.forexample, div: mempunyai (img)

Gaya lalai penyemak imbas memastikan kebolehbacaan asas dengan menggunakan margin, mengisi, fon, dan gaya elemen secara automatik, tetapi boleh menyebabkan susun atur silang penyemak imbas yang tidak konsisten. 1. Margin lalai dan mengisi perubahan aliran susun atur, seperti jarak tajuk, perenggan dan senarai; 2. Tetapan fon lalai mempengaruhi kebolehbacaan, seperti saiz fon 16px dan font masa times; 3. Unsur -unsur bentuk sangat berbeza dalam pelayar yang berbeza, jadi penampilan perlu ditetapkan semula; 4. Beberapa tag seperti Strong dan EM mempunyai gaya penekanan lalai dan perlu ditulis secara jelas. Penyelesaian termasuk menggunakan normalize.css, gaya tetapan semula, atau margin yang jelas dan mengisi global, sambil menyesuaikan fon dan bentuk bentuk untuk konsistensi.

Untuk mencantikkan permulaan perenggan untuk meningkatkan daya tarikan visual, amalan biasa adalah menggunakan unsur-unsur pseudo CSS atau gaya secara manual dokumen. Dalam pembangunan web, p :: letter pertama boleh digunakan untuk menetapkan gaya huruf pertama, seperti membesarkan, membanting, dan membuang warna, tetapi harus diperhatikan bahawa ia hanya sesuai untuk unsur-unsur peringkat blok; Jika anda ingin menyerlahkan keseluruhan baris pertama, gunakan P :: Line pertama untuk menambah gaya; Dalam perisian dokumen seperti Word, anda boleh menyesuaikan format huruf pertama secara manual atau membuat templat gaya, dan InDesign mempunyai fungsi terbina dalam "sinking pertama" yang sesuai untuk penerbitan dan reka bentuk; Apabila memohon, anda perlu memberi perhatian kepada butiran, seperti mengelakkan gaya kompleks yang mempengaruhi membaca dan memastikan keserasian dan konsistensi format.

Gunakan :: Pseudo-elemen CSS untuk menyesuaikan gaya penonjolan apabila teks laman web dipilih untuk meningkatkan estetika dan perpaduan halaman. 1. Tetapan Asas: Tentukan latar belakang warna dan warna melalui :: pemilihan, seperti latar belakang kuning dengan fon kelabu gelap; Unsur -unsur tertentu seperti P :: Pemilihan juga boleh dibatasi. 2. Pemprosesan Keserasian: Tambah -Webkit- awalan untuk bersesuaian dengan safari dan pelayar mudah alih, dan piawaian Firefox dan Edge disokong dengan baik. 3. Beri perhatian kepada kebolehbacaan: Elakkan kontras warna yang berlebihan atau terlalu mewah, dan harus diselaraskan dengan reka bentuk keseluruhan. Sebagai contoh, pilih asas biru lembut dalam mod gelap untuk meningkatkan keselesaan visual. Penggunaan yang munasabah dapat meningkatkan tekstur antara muka, mengabaikan perincian
