検索
ホームページウェブフロントエンドCSSチュートリアル最初に非表示になっている要素では CSS トランジションが機能しないのはなぜですか?

Why Don't CSS Transitions Work on Initially Hidden Elements?

最初に非表示の要素で CSS トランジションが機能しない

問題の理解

説明されているシナリオには 2 つの div がありますそのうちの 1 つは、最初は display:none を使用して非表示になります。 show() や toggle() などのメソッドを使用して非表示の div を表示すると、そのプロパティの遷移がスムーズに行われません。代わりに、div は目的の終了位置に即座に表示されます。

動作の原因

この動作を理解するには、CSSOM ( CSS オブジェクト モデル) と DOM (ドキュメント オブジェクト モデル)。

CSS 遷移は要素の認識に依存します。トランジションの開始点を決定するために計算された初期スタイル値。ただし、display:none を持つ要素は、CSSOM で表示されるとみなされないため、計算されたスタイル値を持ちません。

リフローの影響

リフローは、再計算するブラウザー操作です。 DOM またはスタイル ルールへの変更に基づいたドキュメントのレイアウト。 display:none が削除されると、ブラウザはリフローを開始して DOM と計算されたスタイル値を更新します。

指定されたシナリオでは、リフローが発生する前に遷移が開始されると、非表示の div の最初の計算されたスタイル値がは無効になり、突然表示されます。

問題

オプション 1: $.animate()

$.animate() を使用すると、アニメーションを実行する前にリフローがトリガーされ、計算されたスタイル値が確実に

オプション 2: 手動で強制的にReflow

requestAnimationFrame() を使用すると、次のペイント操作の前にコードの実行をスケジュールできます。コールバック内では、document.body.offsetHeight のようなメソッドを使用してリフローを強制し、必要な CSS プロパティ値を設定することですぐにトランジションをトリガーできます。

結論

CSS 遷移中に最初は非表示だった要素が突然表示されるのは、計算された有効なスタイル値が欠如しているためです。リフロー プロセスを理解し、リフローを強制するテクニックを使用することで、最初は非表示になっていた要素のスムーズな移行を保証できます。

以上が最初に非表示になっている要素では CSS トランジションが機能しないのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
cohost.orgの失われたCSSトリックcohost.orgの失われたCSSトリックApr 25, 2025 am 09:51 AM

この投稿では、Blackle Moriは、CohostのHTMLサポートの限界を押し広げようとしている間に見つかったハックのいくつかを示します。あえてこれらを使用してください、あなたもCSS犯罪者とラベル付けされないようにしてください。

カーソルの次のレベルCSSスタイリングカーソルの次のレベルCSSスタイリングApr 23, 2025 am 11:04 AM

CSSを備えたカスタムカーソルは素晴らしいですが、JavaScriptを使用して次のレベルに物事を引き出すことができます。 JavaScriptを使用して、カーソル状態間で移行し、カーソル内に動的テキストを配置し、複雑なアニメーションを適用し、フィルターを適用できます。

Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Worlds Collide:スタイルクエリを使用したキーフレーム衝突検出Apr 23, 2025 am 10:42 AM

2025年には、互いに互いに跳ね返る要素を伴うインタラクティブなCSSアニメーションは、CSSにPongを実装する必要はありませんが、CSSの柔軟性とパワーの増加はLee'の疑いを補強します。

UI効果にCSSバックドロップフィルターを使用しますUI効果にCSSバックドロップフィルターを使用しますApr 23, 2025 am 10:20 AM

CSSバックドロップフィルタープロパティを使用してユーザーインターフェイスをスタイルするためのヒントとコツ。バックドロップフィルターを複数の要素間でレイヤー化する方法を学び、それらを他のCSSグラフィカル効果と統合して、精巧なデザインを作成します。

微笑んでいますか?微笑んでいますか?Apr 23, 2025 am 09:57 AM

まあ、SVG'の組み込みのアニメーション機能は、計画どおりに非推奨されることはありませんでした。確かに、CSSとJavaScriptは負荷を運ぶことができる以上のものですが、以前のようにSmilが水中で死んでいないことを知っておくのは良いことです

「かわいい」は見る人の目にあります「かわいい」は見る人の目にありますApr 23, 2025 am 09:40 AM

イェーイ、テキストワラップのジャンプを見てみましょう:サファリテクノロジーのプレビューにかなり着陸してください!しかし、それがChromiumブラウザーでの仕組みとは異なることに注意してください。

CSS-Tricks XLIIIを記録しますCSS-Tricks XLIIIを記録しますApr 23, 2025 am 09:35 AM

このCSS-Tricksアップデートは、アルマナック、最近のポッドキャスト出演、新しいCSSカウンターガイド、および貴重なコンテンツを提供するいくつかの新しい著者の追加の大幅な進歩を強調しています。

Tailwind'の@Apply機能は、響きよりも優れていますTailwind'の@Apply機能は、響きよりも優れていますApr 23, 2025 am 09:23 AM

ほとんどの場合、人々はTailwind'の@Apply機能を紹介します。このように展示されたとき、@Applyはまったく有望な音をしません。だからobvio

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

Video Face Swap

Video Face Swap

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

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

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

SublimeText3 中国語版

SublimeText3 中国語版

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

SublimeText3 Mac版

SublimeText3 Mac版

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

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン