検索
ホームページウェブフロントエンドCSSチュートリアル表示と不透明度の両方を変更するときにスムーズな CSS トランジションを作成するにはどうすればよいですか?

How can I create smooth CSS transitions when changing both display and opacity?

表示と不透明度の変更によるスムーズな CSS トランジションの作成

Web 開発の世界では、視覚的に魅力的でインタラクティブなユーザー インターフェイスを作成することが不可欠です。 CSS アニメーションはこれを実現する上で重要な役割を果たし、要素の異なる状態間をシームレスに遷移できるようにします。

CSS3 アニメーションを使用する場合、次のような複数のプロパティを遷移する必要がある状況に遭遇することは珍しくありません。不透明度と表示。ただし、表示プロパティを直接遷移すると突然変化する可能性があるため、これらのプロパティを組み合わせるのは難しい場合があります。

次の CSS コードを考えてみましょう。

.child {
    opacity: 0;
    display: none;

    -webkit-transition: opacity 0.5s ease-in-out;
    -moz-transition: opacity 0.5s ease-in-out;
    transition: opacity 0.5s ease-in-out;
}

.parent:hover .child {
    opacity: 0.9;
    display: block;
}

このコードは、要素をフェードインすることを目的としています。ホバー上の「子」クラス。ただし、表示プロパティを「none」から「block」に直接遷移すると突然の外観が作成されるため、正しく動作しません。

この問題に対処するには、CSS キーフレームを活用して、次のようなスムーズな遷移を実現できます。二つの州。次のコードは、このアプローチを示しています。

.parent:hover .child
{
    display: block;

    -webkit-animation: fadeInFromNone 0.5s ease-out;
    -moz-animation: fadeInFromNone 0.5s ease-out;
    -o-animation: fadeInFromNone 0.5s ease-out;
    animation: fadeInFromNone 0.5s ease-out;
}

@-webkit-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@-moz-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@-o-keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

@keyframes fadeInFromNone {
    0% {
        display: none;
        opacity: 0;
    }

    1% {
        display: block;
        opacity: 0;
    }

    100% {
        display: block;
        opacity: 1;
    }
}

このコードでは、「fadeInFromNone」キーフレーム アニメーションを使用して不透明度を 0 から 1 に移行すると同時に、表示プロパティを 1% で 'block' に設定します。突然の出現は避けてください。

以上が表示と不透明度の両方を変更するときにスムーズな CSS トランジションを作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
Webコンポーネントのスタイリングオプションを検討しますWebコンポーネントのスタイリングオプションを検討しますApr 12, 2025 am 10:02 AM

Webコンポーネントのスタイルをどこに入れますか?

Asyncを理解するのが待っていますAsyncを理解するのが待っていますApr 12, 2025 am 09:55 AM

Webのコードを書くとき、最終的には、完了するまでに少し時間がかかる可能性のあるプロセスを実行する必要があります。 JavaScriptは本当にマルチタスクをすることができます

最高のサードパーティのコンポーネント最高のサードパーティのコンポーネントApr 12, 2025 am 09:54 AM

私は、Webのコンポーネント化のファンです。私はそれがほぼすべてのスケールでウェブサイトを構築するための非常に良い方法だと思います(おそらく、おそらく最も絶対的なものを除いて

CSSプロパティはいくつありますか?CSSプロパティはいくつありますか?Apr 12, 2025 am 09:53 AM

Tomasz wakomyは、すべてのCSS属性に名前を付けることについてのジョークツイートを投稿し、Tejas KumarはNPMモジュールを作成する冗談の答えで答えました。あなた

GreensockでWebでアニメーション化する方法GreensockでWebでアニメーション化する方法Apr 12, 2025 am 09:48 AM

ウェブ上でアニメーション化する方法は本当に何千もあります。ここでは、さまざまなアニメーションテクノロジーの比較について説明しました。今日、私たちは行くつもりです

CSSでMax-Font-Sizeをどのように行いますか?CSSでMax-Font-Sizeをどのように行いますか?Apr 12, 2025 am 09:45 AM

CSSは最大サイズのサイズを持っていないので、それらの線に沿って何かをする何かが必要な場合は、トリッキーになる必要があります。

1つの価格で4つのレイアウト1つの価格で4つのレイアウトApr 12, 2025 am 09:40 AM

Flexboxレイアウトに関するツイートがTwitterで8Kのいいね!を取得すると、かなり注目に値します!

「使用」要素を使用した自動SVG圧縮を超えて進みます「使用」要素を使用した自動SVG圧縮を超えて進みますApr 12, 2025 am 09:39 AM

独自のSVGファイルを描画する場合、またはインターネットからダウンロードした場合、このSVG-EditorやSVGOMGのようなツールは友達です。でファイルを圧縮します

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

AI Hentai Generator

AI Hentai Generator

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

ホットツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境

EditPlus 中国語クラック版

EditPlus 中国語クラック版

サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

SecLists

SecLists

SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。