首頁  >  文章  >  web前端  >  如何在突然改變 CSS 顯示的同時實現平滑的不透明度過渡?

如何在突然改變 CSS 顯示的同時實現平滑的不透明度過渡?

Patricia Arquette
Patricia Arquette原創
2024-11-01 00:31:28798瀏覽

How to Achieve Smooth Opacity Transitions While Abruptly Changing CSS Display?

為CSS 顯示和不透明度屬性建立平滑過渡

您在嘗試設定顯示和不透明度動畫時遇到問題元素的屬性,但顯示變更會幹擾轉換。為了達到不透明度平滑過渡而顯示屬性突然變化的預期結果,您可以使用以下解決方案:

Michael 的回應提供了全面的CSS 程式碼方法:

<code class="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;
    }
}</code>

This程式碼使用關鍵影格分別對不透明度和顯示屬性進行動畫處理。顯示屬性從無突然變為 0% 時阻塞,而不透明度根據指定的緩動函數在 0.5 秒內從 0 平滑過渡到 1。

以上是如何在突然改變 CSS 顯示的同時實現平滑的不透明度過渡?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn