検索
ホームページウェブフロントエンドCSSチュートリアルフロントエンド チャレンジへの提出物 (12 月&#)

これはフロントエンド チャレンジ - 12 月版、Glam Up My Markup: Winter Solstice への提出です

私が作ったもの

Web サイトはここにあります: https://plutonium-239.github.io/dev.to-frontend-challenge/
私の目標は、与えられたプレーンな HTML をよりインタラクティブに、美しくすることでした。そして役に立つ?これを行うには、すべてのセクションに一貫したスタイルを追加し、重要な用語を強調表示して内容をより早く把握できるようにすると同時に、コントラストを追加しました。また、サイトをモバイル レイアウト用に最適化しました。インタラクションは少なくなりますが、サイトのテーマも同様に優れており、便利です。

デモ

ソース コードは https://github.com/plutonium-239/dev.to-frontend-challenge で公開されています

テーマ/CSS

冬至は北半球で一年の中で最も日が短い日となるため、夜空をテーマにしたかったのです。そこで、私たちの旧友であるparticles.jsを思い出しました。ただし、メモリ リークの修正、最適化、typescript での書き換えが多数行われ、tsParticle に変換されました。これがページの背景を形成します。邪魔にならず、同時に生き生きとして見た目にも美しいように構成しました。このセットアップを行うのは予想外の苦労でした。最新バージョンには tsparticles.bundle.js があり、必要なものがすべて揃っているはずであり、グローバルをエクスポートするため、1 行で開始できるようになっていますが、そうではありませんでした。 tsparticles.engine.jsを使用しているときにセットアップを手動で呼び出そうとしましたが、役に立ちませんでした。これには有用なドキュメントが不足しているという問題があります。使用例が 1 つあるスリム版も試してみましたが、うまくいきませんでした。私はバージョンを古いバージョンに置き換えることだけを試みました (必要なのは主に基本的な動作であり、新しい機能ではなかったので) 1.43.1 で成功しました。 Readme の指示に従えば正常に動作すると思われるかもしれませんが、ここではそうではありません。

配色を選んだのは、ちょっと面白い偶然でした。 Tumblr の投稿/ミームのスクリーンショットを見たことがあり、その色がとても気に入りました。文字通り、Google レンズを通じて高解像度の画像を検索し、その色を抽出しました。これにより、3 つの基本色 (サーフェス、プライマリ、アクティブ) が提供されました。他の色については、1 つは赤とピンクの色合い、もう 1 つは緑がかった/ターコイズにしたいと思いました。この範囲からいくつかの色を選択し、現在のカラー パレットと一致するように色合いを合わせました。代替カラー パレットを試すための Colormind のような優れたツールについて学びました。

My submission for the Frontend Challenge (Dec

タイポグラフィに関しては、Readex Pro フォントのことはかなり前から知っていて、とても気に入っています。見出しの表示フォントとしても、通常のテキストのベース フォントとしても機能します。他にもいくつか (Noto、Raleway) を試しましたが、最終的に Readex Pro を使用することにしました。すべてのテキストに等幅フォントを使用することも考えましたが、このページのコンテンツはそのスタイルと互換性がありませんでした。

次は、スクロールによるアニメーションです。以前から実際のウェブサイトでこれらを使用したいと考えており、目次と見出しに含めました。 Firefox (まだ) がアニメーション範囲をサポートしていない (そして、スクロール駆動のアニメーション自体がフラグ 1 の後ろでデフォルトで無効になっている) といういくつかの問題があったため、ハックを実装する必要がありました。 -ish 修正 (ただし、フラグを有効にする必要があります)。

コンテンツ/HTML (JS経由)/CSS

コンテンツの話になりますが、これを 2 つの方法で行いました。

  1. JS を介してテキストにハイライトを追加 - 本質的には innerHTML を置き換える必要があり、気分が悪いですが、HTML を変更できないのはかなり制限的です。 また、JS を使用して要素を挿入して、紹介文に画像を追加しました。少しフェードイン効果を加えたかったのでこれを行いました。当初、セクションの ::after で CSS 背景を使用してこれを実行していましたが、さまざまなデスクトップ サイズやモバイルでフェードを一貫して (つまり、画像の上端が目に見えて鮮明にならないように) する必要がありました。不可能であることが判明した。そのため、セクションに新しい要素を追加し、画像自体に制約された ::after 疑似要素のスタイルを設定する必要がありました。これは非常にうまく機能しました。
  2. CSS を使用してお祝いに画像を追加する - 4 つのお祝いのそれぞれについて、さまざまなソース (クレジットされている) から適切な画像を見つけ、疑似要素を使用して追加しました。素敵な視差スタイルを与え、ホバー操作時に完全な画像を表示する機能も追加しました。画像には多様性があるため、高解像度の画像を見つけるために最善を尽くし、ImageMagick を使用して幅が 800 ピクセルに統一されるようにサイズ変更しました。私は、.celebration クラスを利用してフレームワークを定義し、特定のお祝いごとに CSS 変数を使用して画像 URL (およびクレジット テキスト) を定義する賢い方法でこれを実装しました。

伝統ページでは、リスト マーカーをカスタムの @counter スタイルに変更しました (そして使い方を学びました)。これは非常に気の利いた機能です!

インタラクション: IntersectionObserver API を使用して、目次にスクロール インジケーターを追加しました。これは非常に簡単でした。交差をチェックし、クラスを設定するだけです!

お祝いリストの項目にはホバー効果もあり、それぞれの画像全体が表示されます。これは、CSS を使用して、::after のコンテンツとして画像を設定し、ホバー時に表示されるようにして行いました。

?ページの最後に素敵な秘密を追加したかもしれません?

これは、Canvas API とスクロール リスナーを利用します。とてもクールに見えますが、他のスタイリングにフィットするかどうかは 100% わかりませんでした。


結論

私は職業的に UI デザイナー/Web 開発者ではありません。実際、私は ML 研究者です。しかし、私はアプリやウェブサイトをデザインしたことがあり、クリエイティブであることが好きです!

それで、チャレンジの投稿を見たとき、面白いとは思いましたが、あまり真剣に取り組むつもりはないと思いました。しかし、上で説明したスクリーンショットと、古い粒子.js エフェクトを使用している Web サイトを偶然目にしたので、これら 2 つはある時点でクリックしたに違いありません。それをクリスマスの奇跡と呼びましょう。 ?

今後のステップは特に考えていませんが、やろうと思っていたことはすべてやり遂げたという感じです。

他の人の投稿をいくつか調べてみると、HTML を直接編集できないことがそれほど明確ではなかったと思います。私はこの設定ルールに従い、CSS のスクリプト タグとリンク タグのみを追加しました - 実際のマークアップ コンテンツは一切編集しません

コードは MIT ライセンスに基づいて利用可能です。


  1. Firefox/ベースのブラウザ (Zen など) を使用している場合は、about:config でlayout.css.scroll-driven-animations.enabled をオンにしてください ↩

以上がフロントエンド チャレンジへの提出物 (12 月&#)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
スクリーンリーダーの分解:アクセス可能なフォームとベストプラクティススクリーンリーダーの分解:アクセス可能なフォームとベストプラクティスMar 08, 2025 am 09:45 AM

これは、フォームアクセシビリティについて行った小さなシリーズの3番目の投稿です。 2番目の投稿を逃した場合は、「ユーザーフォーカスの管理:Focus-Visible」をご覧ください。で

WordPressブロックと要素にボックスシャドウを追加しますWordPressブロックと要素にボックスシャドウを追加しますMar 09, 2025 pm 12:53 PM

CSS Box-Shadowおよびアウトラインプロパティは、WordPress 6.1でTheme.jsonサポートを獲得しました。実際のテーマでどのように機能するか、そしてこれらのスタイルをWordPressブロックと要素に適用するために必要なオプションのいくつかの例を見てみましょう。

最初のカスタムSvelteトランジションを作成します最初のカスタムSvelteトランジションを作成しますMar 15, 2025 am 11:08 AM

Svelte Transition APIは、コンポーネントがカスタムSVELTE遷移を含むドキュメントを入力または離れるときにアニメーション化する方法を提供します。

GraphQLキャッシングの使用GraphQLキャッシングの使用Mar 19, 2025 am 09:36 AM

最近GraphQLの作業を開始した場合、またはその長所と短所をレビューした場合、「GraphQLがキャッシュをサポートしていない」または

上品でクールなカスタムCSSスクロールバー:ショーケース上品でクールなカスタムCSSスクロールバー:ショーケースMar 10, 2025 am 11:37 AM

この記事では、Scrollbarsの世界に飛び込みます。私は知っています、それはあまりにも魅力的ではありませんが、私を信じてください、よく設計されたページは手をつないで行きます

ショー、Don' t Tellショー、Don' t TellMar 16, 2025 am 11:49 AM

あなたのウェブサイトのコンテンツプレゼンテーションの設計にどれくらいの時間に費やしますか?新しいブログ投稿を書いたり、新しいページを作成したりするとき、あなたは考えていますか

Redwood.jsと動物相を使用してイーサリアムアプリを構築しますRedwood.jsと動物相を使用してイーサリアムアプリを構築しますMar 28, 2025 am 09:18 AM

最近のビットコインの価格が20k $ $ USDを超えており、最近30Kを破ったので、イーサリアムを作成するために深く掘り下げる価値があると思いました

NPMコマンドは何ですか?NPMコマンドは何ですか?Mar 15, 2025 am 11:36 AM

NPMコマンドは、サーバーの開始やコンパイルコードなどの1回限りのプロセスまたは継続的に実行されるプロセスとして、さまざまなタスクを実行します。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。