目次
アニメーション
CSS グラデーション グループ
グラデーション クラスにスタイルを追加します
グラデーション ライフ サイクル
ホームページ ウェブフロントエンド htmlチュートリアル 「ReactJS」読書メモ Threeteen_html/css_WEB-ITnose

「ReactJS」読書メモ Threeteen_html/css_WEB-ITnose

Jun 21, 2016 am 08:53 AM

アニメーション

アニメーションはユーザー エクスペリエンスをより流動的で自然にすることができます。 React でアニメーションを使用するにはどうすればよいですか? React の TransitionGroup プラグインを CSS3 と組み合わせることで、アニメーション効果をプロジェクトに簡単に統合できます。

React のアニメーションは宣言的な方法で実装されます。TransitionGroup は、CSS の使用を簡素化するために、適切なレンダリングとバッファリングの時点で要素クラスを戦略的に追加および削除します。言い換えれば、必要なのは、これらのクラスに適切なアニメーション効果を記述することだけです。

インターバル レンダリングでは、パフォーマンスを犠牲にしてスケーラビリティと制御性が向上します。この方法では、より多くのレンダリングが必要になりますが、CSS の外側のコンテンツ (スクロールバーの位置や Canvas 描画など) をアニメーション化することもできます。

CSS グラデーション グループ

サンプル プログラムであるアンケート ビルダーがアンケート エディターで質問のリストをどのようにレンダリングするかを見てみましょう。

<ReactCSSTransitionGroup transitionName="question">	{questions}</ReactCSSTransitionGroup>
ログイン後にコピー

ReactCSSTransitionGroup は、

var ReactCSSTransitionGroup = React.addons.ReactCSSTransitionGroup;
ログイン後にコピー

ステートメントによってファイルの先頭に導入されるプラグインです。適切なタイミングでコンポーネントの再レンダリングを自動的に処理し、現在のグラデーションの状態に応じてグラデーション グループのクラスを調整して、コンポーネント スタイルの変更を実現します。

グラデーション クラスにスタイルを追加します

慣例により、transitionName="question" を要素に追加することは、それに 4 つのクラス (question-enter、question-enter-active、question-leave) を追加することを意味します。そして質問-休暇-アクティブ。子コンポーネントが ReactCSSTransitionGroup に出入りすると、CSSTransitionGroup プラグインはこれらのクラスを自動的に追加または削除します。

アンケート エディターで使用されるグラデーション スタイルは次のとおりです。

.survey-editor .question-enter{	transform: scale(1.2);	transition: transform o.2s cubic-bezier(.97, .84, .5, 1.21);}.survey-editor .question-enter-active{	transform:scale(1);}.survey-editor .question-leave{	transform: translateY(o);	opacity: 0;	transition: opacity 1.2s, transform 1s cubic-bezier(5z, -0.25, .52, .95);}.survey-editor .question-leave-active{	opacity: 0;	transform: translateY(-100%);}
ログイン後にコピー

これらの .survey-editor セレクターは ReactCSSTransitionGroup では必須ではなく、単にこれらのスタイルがエディターでのみ有効になるようにするために使用されます。

グラデーション ライフ サイクル

question-enter と question-enter-active の違いは、question-enter クラスはコンポーネントがグラデーション グループに追加された直後に追加されるのに対し、question-enter クラスは追加されることです。 enter -active は、次のレンダリング中に追加されます。この設計により、グラデーションの開始方法、終了方法、およびグラデーションの進行方法を簡単に定義できます。

たとえば、アンケートエディターの質問がリストに追加されると、最初にスケール(1.2)で拡大され、その後徐々に通常のスケール(1)の状態にフェードアウトします。合計で 0.2 秒かかります。 。これにより、ポップアウト効果が得られます。

デフォルトでは、グラデーション グループは開始アニメーションと終了アニメーションの両方を有効にします。コンポーネントにtransitionEnter = {false}またはtransitionLeave = {false}属性を追加することで、それらの一方または両方を無効にできます。どのアニメーション効果を選択するかを制御することに加えて、次のように、構成可能な値に基づいて特定の状況でアニメーションを無効にすることもできます。

<ReactCSSTransitionGroup	transitionName="question"	transitionEnter={this.props.enableAnimations}	transitionLeave={this.props.enableAnimations}>	{questions}</ReactCSSTransitionGroup>
ログイン後にコピー

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

&lt; Progress&gt;の目的は何ですか 要素? &lt; Progress&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:34 PM

この記事では、HTML&lt; Progress&gt;について説明します。要素、その目的、スタイリング、および&lt; meter&gt;との違い要素。主な焦点は、&lt; Progress&gt;を使用することです。タスクの完了と&lt; Meter&gt; statiの場合

&lt; datalist&gt;の目的は何ですか 要素? &lt; datalist&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:33 PM

この記事では、HTML&lt; Datalist&GT;について説明します。オートコンプリートの提案を提供し、ユーザーエクスペリエンスの改善、エラーの削減によりフォームを強化する要素。

&lt; meter&gt;の目的は何ですか 要素? &lt; meter&gt;の目的は何ですか 要素? Mar 21, 2025 pm 12:35 PM

この記事では、html&lt; meter&gt;について説明します。要素は、範囲内でスカラーまたは分数値を表示するために使用され、Web開発におけるその一般的なアプリケーション。それは差別化&lt; Meter&gt; &lt; Progress&gt;およびex

ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? ビューポートメタタグとは何ですか?レスポンシブデザインにとってなぜそれが重要なのですか? Mar 20, 2025 pm 05:56 PM

この記事では、モバイルデバイスのレスポンシブWebデザインに不可欠なViewportメタタグについて説明します。適切な使用により、最適なコンテンツのスケーリングとユーザーの相互作用が保証され、誤用が設計とアクセシビリティの問題につながる可能性があることを説明しています。

HTMLは初心者のために簡単に学ぶことができますか? HTMLは初心者のために簡単に学ぶことができますか? Apr 07, 2025 am 12:11 AM

HTMLは、簡単に学習しやすく、結果をすばやく見ることができるため、初心者に適しています。 1)HTMLの学習曲線はスムーズで簡単に開始できます。 2)基本タグをマスターして、Webページの作成を開始します。 3)柔軟性が高く、CSSおよびJavaScriptと組み合わせて使用​​できます。 4)豊富な学習リソースと最新のツールは、学習プロセスをサポートしています。

&lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? &lt; iframe&gt;の目的は何ですか タグ?使用する際のセキュリティ上の考慮事項は何ですか? Mar 20, 2025 pm 06:05 PM

この記事では、&lt; iframe&gt;外部コンテンツをWebページ、その一般的な用途、セキュリティリスク、およびオブジェクトタグやAPIなどの代替案に埋め込む際のタグの目的。

HTML、CSS、およびJavaScriptの役割:コアの責任 HTML、CSS、およびJavaScriptの役割:コアの責任 Apr 08, 2025 pm 07:05 PM

HTMLはWeb構造を定義し、CSSはスタイルとレイアウトを担当し、JavaScriptは動的な相互作用を提供します。 3人はWeb開発で職務を遂行し、共同でカラフルなWebサイトを構築します。

HTMLでの開始タグの例は何ですか? HTMLでの開始タグの例は何ですか? Apr 06, 2025 am 12:04 AM

Anexampleapalofastartingtaginhtmlis、それはaperginsaparagraph.startingtagsaresentionentientiontheyinitiateelements、definetheirtypes、およびarecrucialforurturingwebpagesandcontingthomedomを構築します。

See all articles