CSSを使用したスクロールエフェクトでテキストを作成する方法
純粋なCSSは、スクロールトリガーされたテキスト表示効果を直接実現することはできませんが、少量のJavaScriptとCSS遷移アニメーションを組み合わせることで効率的に実装できます。特定の方法は、JavaScriptを使用して、要素がビューポートに入り、「公開された」クラスを追加するかどうかを検出することです。 CSSは、透明性と変位の遷移効果を定義する責任があります。交差点オブザーバーAPIを使用してパフォーマンスを改善し、最終的にはスムーズでエレガントなスクロールテキストディスプレイ効果を実現することをお勧めします。
CSSを使用したスクロール効果に関するテキストの作成を作成することは、Webページに微妙な相互作用を追加するためのクリーンでパフォーマンスのある方法です。純粋なCSSには、スクロールベースのアニメーションに関しては制限がありますが(CSSだけではスクロール位置を直接検出できないため)、スクロール検出のために最小限のJavaScriptと組み合わせたCSSを使用して、説得力のあるテキスト明らかな効果を実現できます。効果的に行う方法は次のとおりです。
1.スクロール検出にはJavaScriptを使用してCSSを使用します
真の「スクロール」効果では、JavaScriptがユーザーのスクロール位置を監視し、要素が表示されたときにクラスの変更をトリガーする必要があります。ただし、実際のアニメーションとスタイリングはCSSによって処理されます。
基本的なHTML構造
<div class = "revele container"> <p class = "text-to-reveal">このテキストは、スクロールするときに明らかになります。</p> </div>
CSS:明らかなアニメーションを定義します
.text-to-reveal { 不透明:0; 変換:Translatey(20px); トランジション:不透明度0.8s断念、0.8sの容易さを変換します。 } .text-to-reveal.revealed { 不透明:1; 変換:翻訳(0); }
これにより、テキストが見えないようになり、最初はわずかにシフトします。 revealed
クラスが追加されると、それはフェードインしてスムーズに上昇します。
JavaScript:スクロールにクラスを追加します
const textelements = document.QuerySeLectorall( '。テキストから革新'); const leveryonscroll =()=> { textelements.foreach(el => { const elementtop = el.getBoundingClientRect()。top; const windowheight = window.innerheight; //要素がビューポートにある場合 if(elementtop <windowheight * 0.8){ el.classlist.add( 'leaved'); } }); }; //ロードで実行してスクロールします window.addeventlistener( 'load'、leveryonscroll); window.addeventlistener( 'scroll'、leveryonscroll);
このスクリプトは、各.text-to-reveal
要素がビューポートの高さの80%以内であるかどうかをチェックします。 0.8
調整して、公開が発生したときに制御できます(例えば、以前に0.7
、完全に見える場合は1
)。
2。オプション:再利用性のためにCSSカスタムプロパティを使用します
CSS変数を使用することにより、効果をより柔軟にすることができます。
.reveal-container { -reveal-delay:0.2s; } .text-to-reveal { 不透明:0; 変換:Translatey(20px); トランジション:不透明度0.8s断念、0.8sの容易さを変換します。 トランジションデレイ:var( - revelie-delay、0s); } .text-to-reveal.revealed { 不透明:1; 変換:翻訳(0); トランジションデレイ:var( - revelie-delay、0s); }
これで、要素ごとのタイミングを制御できます。
<div class = "revele container" style = " - reveal-delay:0.3s;"> <p class = "text-to-reveal">は少し後で</p>を明らかにします </div>
3。パフォーマンスのヒント
パフォーマンスの問題を防ぐために、スクロールイベントを絞ります。
ISSCROLLING = false; window.addeventlistener( 'scroll'、()=> { if(!isscrolling){ window.requestanimationframe(()=> { rebrowenscroll(); isscrolling = false; }); isscrolling = true; } });
アニメーションに
transform
とopacity
使用します - それらはGPUアクセラレーションされており、margin
やtop
アニメーションよりも優れています。リスナーをあまりにも多くの要素に添付しないでください。複数の明らかな要素に単一のオブザーバーパターンを使用することを検討してください。
4。代替:交差点オブザーバーを使用する(推奨)
パフォーマンスとクリーンなコードを改善するには、 IntersectionObserver
APIを使用してください。
const observer = new IntersectionObserver((エントリ)=> { entries.foreach(entry => { if(entry.isinterSecting){ entry.target.classlist.add( 'leaved'); //オプション:公開後に観察を停止します Observer.unobserve(entry.target); } }); }、{しきい値:0.1}); //トリガー要素の10%が表示されている場合 document.QuerySeLectorall( '。テキストからreveal')。foreach(el => { Observer.observe(el); });
これは、すべてのスクロールイベントを聴くよりも効率的であり、スクロールベースの公開の最新の標準です。
基本的に、CSSのみを使用して真のスクロールトリガーの公開を行うことはできませんが、最小限のJavaScriptとスムーズなCSS遷移を組み合わせることで、強力でパフォーマンスのあるテキスト明らかな効果が得られます。 IntersectionObserver
を使用して最良の結果を得て、アニメーションを微妙に保ち、プロの外観にします。
以上がCSSを使用したスクロールエフェクトでテキストを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

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

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

Stock Market GPT
AIを活用した投資調査により賢明な意思決定を実現

人気の記事

ホットツール

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

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

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

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

まず、幅、高さ、マージン、境界、フォント、色などの基本的なスタイルを設定します。 2。インタラクティブなフィードバックを強化して:Hoverおよび:フォーカス状態。 3。サイズ属性を使用して、サイズの動作を制御します。 4。::プレースホルダーの擬似要素を使用して、プレースホルダーテキストをスタイリングします。 5.レスポンシブデザインを使用して、デバイス間の可用性を確保します。 6.相関ラベル、色のコントラスト、フォーカスの概要に注意を払って、アクセシビリティを確保し、最終的に美しく機能的なテキストレアスタイルを実現します。

HTMLとCSSを使用して、JavaScriptなしでドロップダウンメニューを作成します。 2。:Hover Pseudo-Classを介してSubmenuディスプレイをトリガーします。 3.ネストされたリストを使用して構造を構築し、CSSに非表示および吊り下げのあるディスプレイ効果を設定します。 4。視覚的なエクスペリエンスを向上させるために、トランジションアニメーションを追加できます。

pointer-events-eventsporpertyincssconstrolswhethernelementcanbetheTarget ofpointerevents.1.usepointer-events:nonetodisable interactionsionsionsionsionslikeclicksoversoverseepingtheelementはviseallyvisible.2.applyittooclaallowcliclowcliclavioturtuntowontuntuntointuentointyonelemenmen

useObject-fitormax-widthwithheight:autotopreventimagedistortion; object-fitcontrolshowimagesfillcontainersは、asspectratios、andmax-width:100%; height:autoensuressivescaling withoutwithoutstretching。

usethebox-shadowpropertytoaddropshadows.definehorizontalandaldverticalOffsets、blur、spread、color、andoptionalinsetforinnershadows.multipleshadowsarecomma-separated.example:box-shadow:5px10px8pxrgba(0,0,0,0.3);

CSS勾配の背景を追加するには、背景または背景イメージ属性を使用して、linear-gradient()、radial-gradient()などの関数と協力します。最初に勾配の種類を選択し、方向と色を設定すると、線形勾配(Toright、#FF7E5F、#FEB47B)などの色のドッキングポイント、形状、サイズ、その他のパラメーターを介して細かく制御できます。

tomaketextresponsiveincss、userelivateunitslikerem、vw、andclamp()withmediaqueries.1.replacefixedpixelswithremforconsistentscali ngbasedOnRootFontSize.2.USEVWFORFFRUIDSCALINGBUTCOMBINEWITHCALC()ORCLAMP()TOPREVENTEXTREMES.3.APPLYMEDAQUERIESATCOMMONBREAKPO

ボーダーラジウスを使用してください:50%を使用して、幅と高さの画像を円に変え、オブジェクトフィットとアスペクト比を組み合わせて形状と作物を確保し、境界、影、その他のスタイルを追加して視覚効果を高めます。
