Cara membuat teks mendedahkan kesan tatal dengan CSS
Walaupun CSS tulen tidak dapat secara langsung mencapai kesan paparan teks yang dicetuskan tatal, ia dapat dilaksanakan dengan cekap dengan menggabungkan sedikit animasi peralihan JavaScript dan CSS; Kaedah khusus adalah menggunakan JavaScript untuk mengesan sama ada elemen memasuki viewport dan menambah kelas "diturunkan". CSS bertanggungjawab untuk menentukan kesan peralihan ketelusan dan anjakan. Adalah disyorkan untuk menggunakan API Observer Persimpangan untuk meningkatkan prestasi dan akhirnya mencapai kesan paparan teks yang licin dan elegan.
Mewujudkan teks mendedahkan kesan tatal dengan CSS adalah cara yang bersih dan pelaku untuk menambah interaksi halus ke laman web anda. Walaupun CSS tulen mempunyai batasan apabila ia datang kepada animasi berasaskan tatal (kerana CSS sahaja tidak dapat secara langsung mengesan kedudukan tatal), anda boleh mencapai teks yang meyakinkan mendedahkan kesan menggunakan CSS yang digabungkan dengan JavaScript yang minimum untuk pengesanan tatal. Inilah caranya dengan berkesan.
1. Gunakan CSS dengan JavaScript untuk pengesanan tatal
Kesan yang benar "pada tatal" memerlukan JavaScript untuk memantau kedudukan tatal pengguna dan mencetuskan perubahan kelas apabila elemen itu dilihat. Walau bagaimanapun, animasi dan gaya sebenar dikendalikan oleh CSS.
Struktur HTML Asas
<div class = "reveal-container"> <p class = "text-to-reveal"> Teks ini akan diturunkan semasa anda menatal. </P> </div>
CSS: Tentukan animasi mendedahkan
.text-to-reveal { Kelegapan: 0; Transform: Translate (20px); Peralihan: Opacity 0.8s mudah keluar, mengubah 0.8s mudah keluar; } .text-to-reveal.Revealed { Kelegapan: 1; Transform: Translate (0); }
Ini menetapkan teks untuk tidak kelihatan dan sedikit beralih ke bawah. Apabila kelas revealed
ditambah, ia memudar dan bergerak lancar.
JavaScript: Tambahkan kelas pada tatal
const textelements = document.QuerySelectorAll ('. text-to-reveal'); const revealonscroll = () => { textelements.foreach (el => { const elementTop = el.getBoundingClientRect (). atas; const windowHeight = window.InnerHeight; // jika elemen berada di paparan jika (elementTop <windowheight * 0.8) { el.classlist.add ('mendedahkan'); } }); }; // Jalankan beban dan tatal window.addeventListener ('LOAD', REPLEYONSCROLL); window.addeventListener ('scroll', revealonscroll);
Skrip ini memeriksa jika setiap elemen .text-to-reveal
berada dalam 80% daripada ketinggian viewport. Anda boleh menyesuaikan 0.8
untuk mengawal apabila mendedahkan berlaku (contohnya, 0.7
untuk lebih awal, 1
untuk apabila kelihatan sepenuhnya).
2. Pilihan: Gunakan sifat tersuai CSS untuk kebolehgunaan semula
Anda boleh membuat kesan lebih fleksibel dengan menggunakan pembolehubah CSS:
.Reveal-Container { -Reveal-Delay: 0.2S; } .text-to-reveal { Kelegapan: 0; Transform: Translate (20px); Peralihan: Opacity 0.8s mudah keluar, mengubah 0.8s mudah keluar; Peralihan-kelewatan: var (-mendedahkan-delay, 0s); } .text-to-reveal.Revealed { Kelegapan: 1; Transform: Translate (0); Peralihan-kelewatan: var (-mendedahkan-delay, 0s); }
Sekarang anda boleh mengawal masa setiap elemen:
<div class = "reveal-container" style = "-reveal-delay: 0.3s;"> <p class = "text-to-reveal"> mendedahkan sedikit kemudian </p> </div>
3. Petua Prestasi
Throttle acara tatal untuk mengelakkan masalah prestasi:
biarkan isscrolling = false; window.addeventListener ('tatal', () => { jika (! isscrolling) { window.requestanimationFrame (() => { revealonscroll (); isscrolling = false; }); isscrolling = true; } });
Gunakan
transform
danopacity
untuk animasi-mereka adalah GPU yang dipercepatkan dan melakukan lebih baik daripadamargin
animasi atautop
.Elakkan melampirkan pendengar kepada terlalu banyak elemen; Pertimbangkan menggunakan corak pemerhati tunggal untuk pelbagai elemen mendedahkan.
4. Alternatif: Gunakan pemerhati persimpangan (disyorkan)
Untuk prestasi yang lebih baik dan kod bersih, gunakan API IntersectionObserver
:
const Observer = New IntersectionObserver ((entri) => { entri.Foreach (entry => { jika (entry.isintersecting) { entry.target.classlist.add ('diturunkan'); // Pilihan: Berhenti memerhati setelah mendedahkan Observer.unobserve (entry.target); } }); }, {ambang: 0.1}); // mencetuskan apabila 10% elemen dapat dilihat document.QuerySelectorAll ('. Text-to-reveal'). Foreach (el => { Observer.observe (EL); });
Ini lebih cekap daripada mendengar setiap acara tatal dan merupakan standard moden untuk mendedahkan berasaskan skrol.
Pada asasnya, semasa anda tidak dapat melakukan tatal yang benar-benar dicetuskan dengan hanya CSS, menggabungkan JavaScript yang minimum dengan peralihan CSS yang lancar memberi anda kesan teks yang kuat dan pelaku. Gunakan IntersectionObserver
untuk hasil terbaik dan simpan animasi halus untuk melihat profesional.
Atas ialah kandungan terperinci Cara membuat teks mendedahkan kesan tatal dengan CSS. 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.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

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)

Pertama, tetapkan gaya asas seperti lebar, ketinggian, margin, sempadan, fon dan warna; 2. Meningkatkan maklum balas interaktif melalui: hover dan: fokus keadaan; 3. Gunakan atribut saiz semula untuk mengawal tingkah laku saiz semula; 4. Gunakan :: Pseudo-elemen tempat untuk gaya teks pemegang tempat; 5. Gunakan reka bentuk responsif untuk memastikan ketersediaan silang peranti; 6. Beri perhatian kepada label berkorelasi, kontras warna dan garis besar fokus untuk memastikan kebolehcapaian, dan akhirnya mencapai gaya Textarea yang indah dan berfungsi.

Gunakan HTML dan CSS untuk membuat menu drop-down tanpa JavaScript. 2. Memicu paparan submenu melalui: hover pseudo-class. 3. Gunakan senarai bersarang untuk membina struktur, dan tetapkan kesan paparan tersembunyi dan digantung dalam CSS. 4. Animasi peralihan boleh ditambah untuk meningkatkan pengalaman visual.

ThePointer-EventsPropertyIncScontrolswhetheranelementCanBethetargetOfPointerevents.1.usepointer-Events: nonetodisableIntionsLikeClicksorhoversWheLeepingTheelementVisibleVisible.2.applyoverlaystoundlowlickeWough

UseObject-Fitormax-Widthwithheight: AutotopreventimagedIstion; Object-FitControlShowimagesfillConterswhilePreservingaseSpectratios, andmax-width: 100%; Height: AutoensureSressiveSsiveScalingWithoutStretching.

Usethebox-shadowpropertytoadddropshadows.Definehorizontalandverticaloffsets,blur,spread,color,andoptionalinsetforinnershadows.Multipleshadowsarecomma-separated.Example:box-shadow:5px10px8pxrgba(0,0,0,0.3);createsasoftblackshadow.

Untuk menambah latar belakang kecerunan CSS, gunakan latar belakang atau atribut imej latar belakang untuk bekerjasama dengan fungsi seperti linear-gradient (), radial-gradient (); Mula-mula pilih jenis kecerunan, tetapkan arah dan warna, dan anda boleh mengawalnya dengan halus melalui titik dok, bentuk, saiz dan parameter lain, seperti gradien linear (toright,#ff7e5f,#feb47b)

TomakeTextresponsiveincss, userelativeUnitslikerem, vw, andclamp () withmediaqueries.1.ReplaceFixedPixelSwithRemforconsistentscali ngbasedOnrootfontsize.2.usevwforfluidscalingButCombinewithCalc () Orclamp () TopreventExtremes.3.applyMediaqueriesatCommonbreakpo

Gunakan Radius Sempadan: 50% untuk menghidupkan imej lebar dan ketinggian yang sama ke dalam bulatan, menggabungkan objek-sesuai dan aspek nisbah untuk memastikan bentuk dan penanaman, dan menambah sempadan, bayang-bayang dan gaya lain untuk meningkatkan kesan visual.
