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

フロントエンド チャレンジへの提出物 (12 月&#)

Dec 31, 2024 pm 10:53 PM

これはフロントエンド チャレンジ - 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 までご連絡ください。

ホット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衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

SASSをより速くするための概念の証明 SASSをより速くするための概念の証明 Apr 16, 2025 am 10:38 AM

新しいプロジェクトの開始時に、SASSコンピレーションは瞬く間に起こります。これは、特にbrowsersyncとペアになっている場合は素晴らしい気分です。

静的フォームプロバイダーの比較 静的フォームプロバイダーの比較 Apr 16, 2025 am 11:20 AM

ここでは、「静的フォームプロバイダー」という用語を埋めてみましょう。あなたはあなたのHTMLを持ってきます

セクション要素との取引 セクション要素との取引 Apr 12, 2025 am 11:39 AM

2つの記事がまったく同じ日に公開されました。

毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 毎週のプラットフォームニュース:HTMLロード属性、主なARIA仕様、およびIFRAMEからShadowDOMへの移動 Apr 17, 2025 am 10:55 AM

今週のプラットフォームニュースのラウンドアップで、Chromeは、Web開発者のロード、アクセシビリティ仕様、およびBBCの動きのための新しい属性を導入します

HTMLダイアログ要素を使用したいくつかの実践 HTMLダイアログ要素を使用したいくつかの実践 Apr 16, 2025 am 11:33 AM

これは私が初めてHTML要素を見ていることです。私はしばらくの間それを知っていましたが、まだスピンしていませんでした。かなりクールです

マルチサムスライダー:一般的なケース マルチサムスライダー:一般的なケース Apr 12, 2025 am 10:52 AM

この2部構成のシリーズの最初の部分では、2つの親指スライダーを取得する方法を詳しく説明しました。今、私たちは' llが一般的なマルチサンプスのケースを見ていますが、別のものと

Google Fontsをタグ付けし、Goofonts.comを作成する方法 Google Fontsをタグ付けし、Goofonts.comを作成する方法 Apr 12, 2025 pm 12:02 PM

Goofontsは、開発者妻とデザイナーの夫によって署名されたサイドプロジェクトであり、どちらもタイポグラフィの大ファンです。 Googleにタグを付けています

「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? 「ポッドキャストにサブスクライブ」リンクはどこにすべきですか? Apr 16, 2025 pm 12:04 PM

しばらくの間、iTunesはポッドキャストの大きな犬だったので、「ポッドキャストにサブスクライブ」をリンクした場合:

See all articles