ページ読み込み時にフェードイン効果を出すために CSS を使用する 質問する

ページ読み込み時にフェードイン効果を出すために CSS を使用する 質問する

CSS トランジションを使用して、ページの読み込み時にテキスト段落をフェードインすることはできますか?

本当に気に入りましたhttp://dotmailapp.com/CSSを使用して同様の効果を使用したいのですが、ドメインは購入されたため、前述の効果はなくなりました。アーカイブされたコピーは以下から閲覧できます。ウェイバックマシンで

このマークアップがあると:

<div id="test">
    <p>​This is a test</p>
</div>​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​​

次の CSS ルールを使用します。

#test p {
    opacity: 0;
    margin-top: 25px;
    font-size: 21px;
    text-align: center;
    -webkit-transition: opacity 2s ease-in;
    -moz-transition: opacity 2s ease-in;
    -o-transition: opacity 2s ease-in;
    -ms-transition: opacity 2s ease-in;
    transition: opacity 2s ease-in;
}​

ロード時に遷移をトリガーするにはどうすればよいですか?

ベストアンサー1

方法1:

自己呼び出しの遷移を探している場合は、CSS 3 アニメーションこれらもサポートされていませんが、これはまさにこのために作られたものです。

CS

#test p {
    margin-top: 25px;
    font-size: 21px;
    text-align: center;

    -webkit-animation: fadein 2s; /* Safari, Chrome and Opera > 12.1 */
       -moz-animation: fadein 2s; /* Firefox < 16 */
        -ms-animation: fadein 2s; /* Internet Explorer */
         -o-animation: fadein 2s; /* Opera < 12.1 */
            animation: fadein 2s;
}

@keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Firefox < 16 */
@-moz-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Safari, Chrome and Opera > 12.1 */
@-webkit-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Internet Explorer */
@-ms-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

/* Opera < 12.1 */
@-o-keyframes fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

デモ

ブラウザのサポート

すべての最新ブラウザおよび Internet Explorer 10 (以降):http://caniuse.com/#feat=css-animation


方法2:

あるいは、jQuery (またはプレーンな JavaScript、3 番目のコード ブロックを参照) を使用して、読み込み時にクラスを変更することもできます。

jQuery

$("#test p").addClass("load");​

CS

#test p {
    opacity: 0;
    font-size: 21px;
    margin-top: 25px;
    text-align: center;

    -webkit-transition: opacity 2s ease-in;
       -moz-transition: opacity 2s ease-in;
        -ms-transition: opacity 2s ease-in;
         -o-transition: opacity 2s ease-in;
            transition: opacity 2s ease-in;
}

#test p.load {
    opacity: 1;
}

プレーンな JavaScript (デモには含まれていません)

document.getElementById("test").children[0].className += " load";

デモ

ブラウザのサポート

すべての最新ブラウザおよび Internet Explorer 10 (以降):http://caniuse.com/#feat=css-transitions


方法3:

または、 .Mailが使用する方法を使用することもできます。

jQuery

$("#test p").delay(1000).animate({ opacity: 1 }, 700);​

CS

#test p {
    opacity: 0;
    font-size: 21px;
    margin-top: 25px;
    text-align: center;
}

デモ

ブラウザのサポート

jQuery 1.x : すべての最新ブラウザおよび Internet Explorer 6 (以降):http://jquery.com/ブラウザサポート/
jQuery 2.x : すべての最新ブラウザおよび Internet Explorer 9 (以降):http://jquery.com/ブラウザサポート/

この方法は、ターゲット ブラウザーが CSS 3 トランジションやアニメーションをサポートする必要がないため、最も互換性が高くなります。

おすすめ記事