Rumah hujung hadapan web tutorial css Penyerahan saya untuk Cabaran Frontend (Dis&#

Penyerahan saya untuk Cabaran Frontend (Dis&#

Dec 31, 2024 pm 10:53 PM

Ini adalah penyerahan untuk Cabaran Frontend - Edisi Disember, Glam Up My Markup: Winter Solstice

Apa yang Saya Bina

Tapak web disiarkan secara langsung di sini: https://plutonium-239.github.io/dev.to-frontend-challenge/
Matlamat saya adalah untuk menjadikan HTML biasa yang diberikan lebih interaktif ?, cantik ? dan berguna?. Saya melakukan ini dengan menambah penggayaan yang konsisten pada semua bahagian, menyerlahkan istilah penting untuk memahami kandungan dengan lebih cepat sambil juga menambahkan lebih kontras. Saya juga mengoptimumkan tapak untuk reka letak mudah alih dan walaupun ia menampilkan kurang interaksi, tapak ini juga bertemakan baik dan berguna.

Demo

Kod sumber tersedia secara terbuka di https://github.com/plutonium-239/dev.to-frontend-challenge

Perjalanan

Tema/CSS

Saya mahu pergi dengan tema langit malam kerana Solstis Musim Sejuk menyebabkan Hemisfera Utara mengalami hari terpendek dalam setahun. Jadi, saya teringat zarah rakan lama kita.js. Kecuali sekarang ia telah berubah menjadi tsParticles dengan sekumpulan pembetulan kebocoran memori, pengoptimuman dan penulisan semula dalam skrip taip. Ini membentuk latar belakang halaman. Saya mengkonfigurasinya supaya tidak mengganggu sambil juga kelihatan meriah dan menyenangkan dari segi estetika. Mendapatkan persediaan ini adalah satu kesakitan yang tidak saya jangkakan. Versi terkini mempunyai tsparticles.bundle.js yang sepatutnya menjadi semua yang anda perlukan dan mengeksport global supaya anda boleh bermula dalam satu baris, tetapi itu tidak berlaku. Saya cuba memanggilnya secara manual semasa menggunakan tsparticles.engine.js tetapi tidak berjaya. Ini mengalami kekurangan dokumentasi yang berguna. Saya juga mencuba versi slim yang mempunyai satu contoh penggunaan tetapi ia tidak berfungsi. Saya cuba hanya menggantikan versi dengan versi yang lebih lama (kerana yang saya perlukan kebanyakannya adalah tingkah laku asas dan bukan ciri-cirinya yang lebih baharu) dan mendapat emas dengan 1.43.1. Anda menjangkakan mengikuti arahan dalam readme akan membolehkan anda menyiarkannya, tetapi ini tidak benar di sini.

Memilih skema warna adalah satu kebetulan yang lucu. Saya telah melihat tangkapan skrin siaran tumblr/meme dan sangat menyukai warna di dalamnya. Saya benar-benar mencari imej beresolusi tinggi melalui Google Lens dan mengekstrak warnanya. Ini memberikan saya 3 warna asas (permukaan, utama, aktif). Untuk warna lain, saya mahu salah satu daripadanya berwarna merah-merah jambu dan satu berwarna kehijauan/pirus. Saya memilih beberapa warna dalam julat ini dan memadankan naungan supaya ia selaras dengan palet warna semasa. Saya belajar tentang alatan hebat seperti Colormind untuk mencuba palet warna alternatif.

My submission for the Frontend Challenge (Dec

Mengenai tipografi, saya sudah lama mengetahui tentang fon Readex Pro, dan saya sangat menyukainya. Ia berfungsi dengan baik sebagai fon paparan untuk tajuk dan juga sebagai fon asas untuk teks biasa. Saya telah mencuba beberapa yang lain (Noto, Raleway) tetapi akhirnya menggunakan Readex Pro. Saya juga pernah terfikir untuk menggunakan fon monospace untuk semua teks, tetapi kandungan pada halaman ini tidak serasi dengan penggayaan itu.

Seterusnya, untuk animasi dipacu tatal! Saya telah mahu menggunakannya dalam laman web sebenar untuk beberapa waktu sekarang, dan saya memasukkannya dalam TOC dan tajuk. Terdapat beberapa isu dengan Firefox (masih) tidak menyokong julat animasi (dan animasi dipacu tatal sendiri dilumpuhkan secara lalai di belakang bendera1), jadi saya terpaksa melaksanakan penggodaman -ish fix (tetapi anda masih perlu mendayakan bendera).

Kandungan/HTML (melalui JS)/CSS

Untuk kandungan, saya melakukan ini dalam dua cara:

  1. Menambahkan sorotan pada teks melalui JS - pada asasnya diperlukan untuk menggantikan innerHTML yang terasa buruk, tetapi tidak dapat mengubah suai HTML adalah agak mengehadkan. Saya juga telah menambah imej pada pengenalan menggunakan JS dengan memasukkan elemen. Saya melakukan ini kerana saya ingin menambahkan sedikit kesan pudar padanya. Pada mulanya, saya telah melakukan ini melalui latar belakang CSS pada bahagian ::after, tetapi menjadikan pudar menjadi konsisten (iaitu tepi atas imej tidak kelihatan tajam) merentas pelbagai saiz desktop dan mudah alih ternyata mustahil. Jadi, saya terpaksa menambah elemen baharu dalam bahagian itu, dan kemudian menggayakan elemen pseudo ::selepas terhad kepada imej itu sendiri - yang berfungsi dengan baik.
  2. Menambah imej pada perayaan melalui CSS - Untuk setiap daripada empat perayaan, saya dapati gambar yang sesuai melalui pelbagai sumber (dikreditkan) dan menambahkannya melalui elemen pseudo. Saya memberi mereka gaya paralaks yang bagus dan juga menambahkan imej penuh tayangan pada interaksi tuding. Kerana kepelbagaian imej, saya melakukan yang terbaik untuk mencari yang beresolusi tinggi dan kemudian mengubah saiznya untuk mempunyai lebar seragam 800px menggunakan ImageMagick. Saya melaksanakan ini dengan cara yang bijak menggunakan kelas .celebration untuk mentakrifkan rangka kerja dan menggunakan pembolehubah CSS untuk setiap perayaan tertentu untuk menentukan URL imej (dan teks kredit).

Untuk halaman tradisi, saya menukar penanda senarai kepada (dan belajar cara menggunakan) gaya @kaunter tersuai - ini adalah ciri yang cukup bagus!

Interaksi: Saya menambah penunjuk skrol dalam TOC menggunakan IntersectionObserver API. Ini agak mudah: semak persimpangan, tetapkan kelas dan itu sahaja!

Terdapat juga kesan lekukan pada item senarai perayaan, yang mendedahkan keseluruhan imej masing-masing. Saya melakukan ini melalui CSS dengan menetapkan imej sebagai kandungan ::after dan menjadikannya kelihatan pada tuding.

?Saya mungkin juga telah menambah rahsia kecil yang menarik di penghujung halaman?

Ini menggunakan API Kanvas dan pendengar tatal. Ia kelihatan agak menarik, tetapi saya tidak 100% pasti sama ada ia sesuai dengan penggayaan yang lain.


Kesimpulan

Saya bukan pereka UI/webdev mengikut profesion. Sebenarnya, saya seorang penyelidik ML. Tetapi saya telah mereka apl/tapak web dan saya suka menjadi kreatif!

Jadi, apabila saya melihat siaran cabaran, saya fikir ia menarik tetapi saya tidak fikir saya akan mengambilnya terlalu serius. Walau bagaimanapun, secara kebetulan saya melihat tangkapan skrin yang dibincangkan di atas, dan tapak web menggunakan kesan particles.js lama, dan kedua-duanya mesti telah mengklik pada satu ketika. Panggil itu keajaiban Krismas! ?

Saya tidak benar-benar memikirkan apa-apa langkah masa depan, saya rasa saya telah melakukan apa yang saya rancang untuk lakukan dan banyak lagi.

Mengulas beberapa penyerahan orang lain, saya rasa tidak begitu jelas bahawa HTML tidak boleh diedit secara langsung. Saya telah mengikuti peraturan yang ditetapkan ini dan hanya menambah teg skrip dan teg pautan untuk CSS - tanpa mengedit mana-mana kandungan markup sebenar.

Kod ini tersedia di bawah Lesen MIT.


  1. Untuk sesiapa sahaja di pelayar berasaskan firefox/(cth. Zen), hidupkan layout.css.scroll-driven-animations.enabled in about:config ↩

Atas ialah kandungan terperinci Penyerahan saya untuk Cabaran Frontend (Dis&#. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

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

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Vue 3 Vue 3 Apr 02, 2025 pm 06:32 PM

Ia ' s! Tahniah kepada pasukan Vue untuk menyelesaikannya, saya tahu ia adalah usaha besar dan lama datang. Semua dokumen baru juga.

Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Bolehkah anda mendapatkan nilai harta CSS yang sah dari penyemak imbas? Apr 02, 2025 pm 06:17 PM

Saya mempunyai seseorang yang menulis dengan soalan yang sangat legit ini. Lea hanya blog tentang bagaimana anda boleh mendapatkan sifat CSS yang sah dari penyemak imbas. That ' s seperti ini.

Sedikit di CI/CD Sedikit di CI/CD Apr 02, 2025 pm 06:21 PM

Saya '

Kad yang disusun dengan kedudukan melekit dan sasaran sass Kad yang disusun dengan kedudukan melekit dan sasaran sass Apr 03, 2025 am 10:30 AM

Pada hari yang lain, saya melihat sedikit ini sangat indah dari laman web Corey Ginnivan di mana koleksi kad timbunan di atas satu sama lain semasa anda menatal.

Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Menggunakan Markdown dan Penyetempatan di Editor Blok WordPress Apr 02, 2025 am 04:27 AM

Jika kita perlu menunjukkan dokumentasi kepada pengguna secara langsung dalam editor WordPress, apakah cara terbaik untuk melakukannya?

Membandingkan penyemak imbas untuk reka bentuk responsif Membandingkan penyemak imbas untuk reka bentuk responsif Apr 02, 2025 pm 06:25 PM

Terdapat beberapa aplikasi desktop ini di mana matlamat menunjukkan laman web anda pada dimensi yang berbeza pada masa yang sama. Oleh itu, anda boleh menulis

Cara menggunakan grid CSS untuk tajuk dan kaki melekit Cara menggunakan grid CSS untuk tajuk dan kaki melekit Apr 02, 2025 pm 06:29 PM

CSS Grid adalah koleksi sifat yang direka untuk menjadikan susun atur lebih mudah daripada yang pernah berlaku. Seperti apa -apa, ada sedikit keluk pembelajaran, tetapi grid adalah

Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Kenapa kawasan -kawasan yang dikurangkan ungu di susun atur flex tersilap dianggap sebagai 'ruang limpahan'? Apr 05, 2025 pm 05:51 PM

Soalan mengenai kawasan slash ungu dalam susun atur flex Apabila menggunakan susun atur flex, anda mungkin menghadapi beberapa fenomena yang mengelirukan, seperti dalam alat pemaju (D ...

See all articles