私は常にスクロールするテキスト効果を作りたいと思っていましたが、それを実現するには WebGL の使用など、いくつかの方法があります。しかし、それでもこの効果を実現するために HTML と CSS を使用したいと考えています。
何年も前、マーキー タグは Web 上でテキストをスクロールするアニメーション効果を実現するために一般的に使用されていました。 もちろん、多くの学生も同様の効果を実現するために JavaScript を使用していました。
数日前、マスターが純粋な CSS を使用して 3D スクロール テキスト効果を作成しているのを CodePen で見ました。しばらく注意深く観察した後、thenewcode.com でそれが実現するとは思いませんでした。 / にこの事例を紹介する記事がありましたので、今日はこの記事を翻訳して共有します。以下のコンテンツを読み続ける前に、完了する必要があるアニメーション効果を見てみましょう:
翻訳コンテンツはここから始まります。
Acute Angles
以下に示すように、div コンテナーには 2 つの div 要素が配置され、これらの 2 つの要素に配置されるコンテンツは同じです。 🎜>
<div id="marquee"> <div> <span>ONE LOVE ONE HEART</span> </div> <div aria-hidden="true"> <span>ONE LOVE ONE HEART</span> </div></div>2 番目の要素は最初の要素のコピーで、2 番目の div 要素には aria-hidden="true" の隠し要素が設定されているため、効果ではテキストのみが表示されます。
div#marquee 内の div 要素は、3D 回転を使用して適切な角度を設定し、親要素の遠近値を 0 に設定します。同時に、親要素の font-size も 0 に設定されます。これは主に、内部の inline-block 要素によってスペースが生じないようにするためです。
#marquee { perspective: 500px; font-size: 0;}#marquee div { display: inline-block; height: 12rem; width: 30rem; position: relative;}
3D 関連の知識に初めて触れる場合は、ここをクリックして、関連する知識ポイントについて詳しく学ぶことができます。なお、インラインブロック要素間の空白を解消する方法については、以前にシェアした記事「インラインブロック要素の空白を解消する方法」をご覧ください。
また、transform-origin を使用して内部要素にわずかに異なる角度を設定して曲線にし、さまざまな背景色とテキスト色で照明効果をシミュレートします。
#marquee div:first-of-type { background: #e5233e; transform-origin: top right; transform: rotateY(-40deg); color: #fff;}#marquee div:last-of-type { background: #b31e31; transform-origin: top left; transform: rotateY(45deg); color: #f8c9d9;}基本的なスタイルの美化を追加すると、次の効果が表示されます:
コンテナーを通常の幅の範囲内に保つために、テキスト コンテンツが spam タグ内に配置されます。適切な量のテキストを収容するには、オーバーフロー テキストを非表示にできるように、div 要素でオーバーフロー値を非表示に設定する必要があります。
#marquee div { font-size: 8rem; overflow: hidden;}#marquee div span { position: absolute; width: 400%; line-height: 1.4;}この時点での効果は次のとおりです:
テキスト スクロール (前方クロール)
スパン要素は、異なる位置に応じて異なる変位を設定します。右側のテキストは右に 30rem (つまり、div 要素の表示領域の幅) 移動し、左側のテキストは div の表示領域の 2 倍の距離 (つまり、div 要素の表示領域の幅) だけ移動します。つまり、内側の div の幅です)。さらに良くするには、text-shadow を使用してテキストに少し影を追加します。
#marquee div:first-of-type span { transform: translateX(60rem); animation: leftcrawl 14s linear infinite; text-shadow: 4px 0px 4px rgba(0,0,0,0.3);}#marquee div:last-of-type span { transform: translateX(30rem); animation: rightcrawl 14s linear infinite;}親要素 div が overflow:hidden; とテキストの色を設定していない場合、初期効果は次のようになります:
両方のテキストは次のようになります。アニメーション効果を提供します。左側のテキストを開始するには遅延移動時間が必要ですが、この時間はまさに右側のテキストがコーナーに到達する時間です。
@keyframes leftcrawl { to { transform: translateX(-100rem); }}@keyframes rightcrawl { to { transform: translateX(-130rem); }}テキストの動きに均一なモーション効果を持たせるために、ここではリニアアニメーションタイミング関数を使用しています。この時点で、次の効果が見られます。
レスポンシブ効果
ブラウザ画面が狭くなると、上記のコードの効果はあまり良くありません。テキストと角度が小さくなり、字幕が小さくなります。ますます小さくなり、読みにくくなります。したがって、画面幅が 993px 未満の場合は、上記の 3D 効果を 2D 効果に置き換えます。つまり、div 要素を 1 つだけ表示します:
@media all and (max-width: 993px) { #marquee { perspective: none; } #marquee div:last-of-type { opacity: 0; height: 0; } #marquee div:first-of-type { width: 80%; }}効果は次のとおりです:
画面を「狭い」に変更してみると、次の Gif アニメーションのような効果が表示されます。
興味深いことに、display:none を使用して要素を非表示にします。 、この時点でアニメーションは完全に停止します。要素が再表示されると再開します。このため、別の手法を使用して要素を非表示にすることができます。つまり、2 番目の div の不透明度と高さの値を 0 に設定します。こうすることで、ウィンドウが縮小または拡大されても、アニメーションは再生され続けます。
まとめ
全体として、その効果には非常に満足しています。もちろん、他の CSS テクノロジーを使用して、より興味深い効果を作成することを楽しみにしています。この記事の有効性に関する限り、いくつかの領域、特に繰り返しのテキスト コンテンツはまだ改善の余地があります。この問題を解決するには、JavaScript を使用して要素とテキスト ノードを簡単にコピーできます。例えば記事冒頭の例では、テキストを入力することで表示内容を変更するエフェクトを設けています。
この記事は @dudleystorey の「Wrapping Animated 3D Marquee Text with Pure CSS」を元に翻訳したものであり、翻訳内容に誤りや誤りがある場合がございます。同僚や友人に遠慮なくアドバイスを求めてください。この翻訳を転載したい場合は、英語のソースを明記してください: http://thenewcode.com/1096/Wrapping-Animated-3D-Marquee-Text-with-Pure-CSS。
Da Mo
通称「Da Mo」として知られる W3CPlus の創設者で、現在は Taobao.com で働いています。彼は、HTML5、CSS3、Sass などのフロントエンド スクリプト言語について非常に深い理解と豊富な実践経験を持っており、特に CSS3 の研究に注力しており、中国で最初に研究と使用を行った人物の 1 人です。 CSS3テクノロジー。 CSS3、Sass、Drupalの中国人エバンジェリスト。 2014 年に『図解 CSS3: コア技術と事例実践』を出版しました。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。1。HTMLは、Webページ構造を定義し、2。CSSはWebページスタイルを制御し、3。JavaScriptは動的な動作を追加します。一緒に、彼らは最新のウェブサイトのフレームワーク、美学、および相互作用を構築します。

HTMLの将来は、無限の可能性に満ちています。 1)新機能と標準には、より多くのセマンティックタグとWebComponentsの人気が含まれます。 2)Webデザインのトレンドは、レスポンシブでアクセス可能なデザインに向けて発展し続けます。 3)パフォーマンスの最適化により、応答性の高い画像読み込みと怠zyなロードテクノロジーを通じてユーザーエクスペリエンスが向上します。

Web開発におけるHTML、CSS、およびJavaScriptの役割は次のとおりです。HTMLはコンテンツ構造を担当し、CSSはスタイルを担当し、JavaScriptは動的な動作を担当します。 1。HTMLは、セマンティクスを確保するためにタグを使用してWebページの構造とコンテンツを定義します。 2。CSSは、セレクターと属性を介してWebページスタイルを制御して、美しく読みやすくします。 3。JavaScriptは、動的でインタラクティブな関数を実現するために、スクリプトを通じてWebページの動作を制御します。

htmlisnotaprogramminglanguage; itisamarkuplanguage.1)htmlStructuresandformatswebcontentusingtags.2)ItworkswithcsssssssssdjavascriptforInteractivity、強化を促進します。

HTMLは、Webページ構造の構築の基礎です。 1。HTMLは、コンテンツ構造とセマンティクス、および使用などを定義します。タグ。 2. SEO効果を改善するために、などのセマンティックマーカーを提供します。 3.タグを介したユーザーの相互作用を実現するには、フォーム検証に注意してください。 4. JavaScriptと組み合わせて、動的効果を実現するなどの高度な要素を使用します。 5.一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれ、検証ツールが必要です。 6.最適化戦略には、HTTP要求の削減、HTMLの圧縮、セマンティックタグの使用などが含まれます。

HTMLは、Webページを構築するために使用される言語であり、タグと属性を使用してWebページの構造とコンテンツを定義します。 1)htmlは、などのタグを介してドキュメント構造を整理します。 2)ブラウザはHTMLを分析してDOMを構築し、Webページをレンダリングします。 3)マルチメディア関数を強化するなど、HTML5の新機能。 4)一般的なエラーには、閉じられていないラベルと引用されていない属性値が含まれます。 5)最適化の提案には、セマンティックタグの使用とファイルサイズの削減が含まれます。

webdevelopmentReliesOnhtml、css、andjavascript:1)htmlStructuresContent、2)cssStylesit、および3)Javascriptaddsinteractivity、形成、

HTMLの役割は、タグと属性を使用してWebページの構造とコンテンツを定義することです。 1。HTMLは、読みやすく理解しやすいようなタグを介してコンテンツを整理します。 2。アクセシビリティとSEOを強化するには、セマンティックタグなどを使用します。 3. HTMLコードの最適化により、Webページの読み込み速度とユーザーエクスペリエンスが向上する可能性があります。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

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

ドリームウィーバー CS6
ビジュアル Web 開発ツール

WebStorm Mac版
便利なJavaScript開発ツール

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

メモ帳++7.3.1
使いやすく無料のコードエディター
