搜尋
首頁web前端css教學我提交的前端挑戰賽(12 月 #

這是前端挑戰賽 - 12 月版的提交,Glam Up My Markup:冬至

我建造了什麼

網站已上線:https://plutium-239.github.io/dev.to-frontend-challenge/
我的目標是讓給定的純 HTML 更具互動性? 、美觀?有用嗎?我透過為所有部分添加一致的樣式突出顯示重要術語以更快地掌握內容,同時添加更多對比度來做到這一點。我還針對行動佈局優化了該網站,雖然其互動較少,但該網站同樣主題鮮明且實用。

示範

原始碼可在 https://github.com/plutium-239/dev.to-frontend-challenge 公開取得

旅行

主題/CSS

我想選擇夜空主題,因為冬至使北半球經歷一年中最短的白天。於是,我想起了我們的老朋友particles.js。但現在它已經轉變為 tsParticles,並進行了一系列內存洩漏修復、優化和打字稿重寫。這形成了頁面的背景。我將其配置為不分散注意力,同時看起來活潑且美觀。進行此設定是我沒有預料到的痛苦。最新版本有一個 tsarticles.bundle.js,它應該是您需要的一切,並導出全局變量,以便您可以在一行中開始,但事實並非如此。我嘗試在使用 tsarticles.engine.js 時手動調用它的設置,但無濟於事。這是由於缺乏有用的文件。我還嘗試了 slim 版本,其中有一個範例用法,但它不起作用。我嘗試用​​舊版本替換該版本(因為我需要的主要是基本行為,而不是新功能),並用 1.43.1 獲得了成功。您可能希望按照自述文件中的說明進行操作,但事實並非如此。

選擇配色方案是一個有趣的巧合。我看過一張 tumblr 貼文/迷因的螢幕截圖,非常喜歡其中的顏色。我確實透過谷歌鏡頭搜尋了更高解析度的圖像並提取了它的顏色。這為我提供了 3 種基色(表面色、原色、活性色)。對於其他顏色,我希望其中一種是紅粉色,另一種是綠色/綠松石色。我選擇了這個範圍內的一些顏色並匹配了陰影,使其與當前的調色板保持一致。我了解了 Colormind 等很棒的工具來嘗試替代調色板。

My submission for the Frontend Challenge (Dec

說到排版,我已經了解 Readex Pro 字體有一段時間了,而且我真的很喜歡它。它既可以用作標題的顯示字體,也可以用作普通文字的基本字體。我確實嘗試了其他幾個(Noto、Raleway),但最終選擇了 Readex Pro。我還考慮過為所有文字使用等寬字體,但此頁面上的內容與該樣式不相容。

接下來是滾動驅動的動畫!我想在真實的網站中使用這些已經有一段時間了,我將它們包含在目錄和標題中。 Firefox (仍然) 存在一些問題,不支援動畫範圍(預設情況下,滾動驅動的動畫本身在標誌1 後面被禁用),所以我必須實現一個hack -ish修復(但您仍然需要啟用該標誌)。

內容/HTML(透過JS)/CSS

說到內容,我透過兩種方式做到了這一點:

  1. 透過JS為文字加上高亮 - 本質上需要替換innerHTML,這感覺很糟糕,但無法修改HTML是相當有限的。 我還使用 JS 透過插入元素在簡介中添加了圖像。我這樣做是因為我想為其添加一點淡入效果。最初,我透過該部分的::after 上的CSS 背景來完成此操作,但在各種桌面尺寸和行動裝置上使淡入淡出保持一致(即影像的頂部邊緣不明顯銳利)事實證明這是不可能的。因此,我必須在該部分中添加一個新元素,然後將 ::after 偽元素的樣式限制為圖像本身 - 這效果非常好。
  2. 透過 CSS 添加圖像到慶祝活動 - 對於四個慶祝活動中的每一個,我透過各種來源找到了合適的圖片(來源),並透過偽元素添加了這些圖片。我給了他們一個漂亮的視差風格,並在懸停互動時添加了顯示全圖像。由於影像的多樣性,我盡力找到高解析度的影像,然後使用 ImageMagick 將它們調整為統一寬度 800px。我以一種巧妙的方式實現了這一點,利用 .celebration 類別來定義框架,並為每個特定的慶祝活動使用 CSS 變數來定義圖像 URL(和製作人員名單文字)。

對於傳統頁面,我將清單標記更改為(並學習如何使用)自訂@counter-style - 這是一個非常漂亮的功能!

互動: 我使用 IntersectionObserver API 在 TOC 中新增了滾動指示器。這相當簡單:檢查交集,設定一個類,就是這樣!

慶祝清單項目上還有一個懸停效果,可以顯示整個相應的圖像。我透過 CSS 將圖像設定為 ::after 的內容並使其在懸停時可見。

我可能還在頁面末尾添加了一個很酷的小秘密

這利用了 Canvas API 和捲動偵聽器。它看起來很酷,但我不能 100% 確定它是否適合其餘的造型。


結論

我的職業不是 UI 設計師/網頁開發人員。事實上,我是一名機器學習研究員。但我設計過應用程式/網站,而且我喜歡發揮創意!

所以,當我看到挑戰貼文時,我覺得這很有趣,但我不認為我會太認真地對待它。然而,我碰巧看到了上面提到的螢幕截圖,以及一個使用舊的 keywords.js 效果的網站,而這兩者一定在某個時刻點擊過。這就是聖誕奇蹟! ?

我心裡並沒有任何未來的計劃,我覺得我做了我計劃要做的事情,甚至更多。

瀏覽了一些其他人提交的內容,我認為沒有很清楚HTML不能直接編輯。我遵循了這個設定規則,只為 CSS 添加了腳本標籤和連結標籤 - 而不編輯任何實際的標記內容

該程式碼可在 MIT 許可證下使用。


  1. 對於使用 Firefox/基於 Firefox 的瀏覽器(例如​​ Zen)的任何人,請在 about:config 中開啟 layout.css.scroll-driven-animations.enabled ↩

以上是我提交的前端挑戰賽(12 月 #的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
將框陰影添加到WordPress塊和元素將框陰影添加到WordPress塊和元素Mar 09, 2025 pm 12:53 PM

CSS盒子陰影和輪廓屬性獲得了主題。讓我們查看一些在真實主題中起作用的示例,以及我們必須將這些樣式應用於WordPress塊和元素的選項。

使用GraphQL緩存使用GraphQL緩存Mar 19, 2025 am 09:36 AM

如果您最近開始使用GraphQL或審查了其優點和缺點,那麼您毫無疑問聽到了諸如“ GraphQl不支持緩存”或

使您的第一個自定義苗條過渡使您的第一個自定義苗條過渡Mar 15, 2025 am 11:08 AM

Svelte Transition API提供了一種使組件輸入或離開文檔(包括自定義Svelte Transitions)時動畫組件的方法。

優雅且酷的自定義CSS捲軸:展示櫃優雅且酷的自定義CSS捲軸:展示櫃Mar 10, 2025 am 11:37 AM

在本文中,我們將深入研究滾動條。我知道,這聽起來並不魅力,但請相信我,一個精心設計的頁面是齊頭並進的

展示,不要說展示,不要說Mar 16, 2025 am 11:49 AM

您花多少時間為網站設計內容演示文稿?當您撰寫新的博客文章或創建新頁面時,您是在考慮

使用Redwood.js和Fauna構建以太坊應用使用Redwood.js和Fauna構建以太坊應用Mar 28, 2025 am 09:18 AM

隨著最近比特幣價格超過20k美元的攀升,最近打破了3萬美元,我認為值得深入研究創建以太坊

NPM命令是什麼?NPM命令是什麼?Mar 15, 2025 am 11:36 AM

NPM命令為您運行各種任務,無論是一次性或連續運行的過程,例如啟動服務器或編譯代碼。

讓我們使用(x,x,x,x)來談論特殊性讓我們使用(x,x,x,x)來談論特殊性Mar 24, 2025 am 10:37 AM

前幾天我只是和埃里克·邁耶(Eric Meyer)聊天,我想起了我成長時代的埃里克·邁耶(Eric Meyer)的故事。我寫了一篇有關CSS特異性的博客文章,以及

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

Dreamweaver Mac版

Dreamweaver Mac版

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。