ホームページ > ウェブフロントエンド > CSSチュートリアル > アニメーション要素に「display: none;」がある場合、CSS でスライド アニメーションを作成するにはどうすればよいでしょうか?

アニメーション要素に「display: none;」がある場合、CSS でスライド アニメーションを作成するにはどうすればよいでしょうか?

Barbara Streisand
リリース: 2024-11-15 18:51:02
オリジナル
645 人が閲覧しました

How can you create a sliding animation in CSS when the animated element has `display: none;`?

表示と連動した CSS アニメーション: なし

「main-div」が表示の後にスライドインする CSS アニメーションを作成したいと考えています。指定された期間を延長し、パス内の他の div をプッシュダウンします。ただし、「main-div」の「display」プロパティを「none」に設定すると、アニメーションがトリガーされなくなります。

この制限を克服するには、「display: none;」間で直接アニメーション化することはできません。および「表示: ブロック;」または「高さ: 0;」の間そして「高さ: 自動」。代わりに、div の高さを手動で指定する必要があります。

バニラ CSS を使用した例を次に示します:

#main-image {
    height: 0;
    overflow: hidden;
   -moz-animation-delay: 3.5s;
   -webkit-animation-delay: 3.5s;
   -o-animation-delay: 3.5s;
    animation-delay: 3.5s;
}

@-prefix-keyframes slide {
  from {height: 0;}
  to {height: 300px;}
}
ログイン後にコピー

このコードでは、「メイン画像」の高さを明示的に設定します。最初は div を 0 ピクセルに設定し、事実上非表示にします。 「オーバーフロー: 非表示」

次に、CSS アニメーションを使用して、初期の高さ 0 から目的の高さ 300 ピクセルまでスムーズに移行します。 「animation-delay」プロパティにより、アニメーションが 3.5 秒の遅延後に開始されるようになります。

このアプローチを使用すると、「display: none;」を使用せずにスライド アニメーションを作成できます。 CSS が提供するスムーズな移行と正確なタイミングを維持しながら。

以上がアニメーション要素に「display: none;」がある場合、CSS でスライド アニメーションを作成するにはどうすればよいでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート