溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3過渡有幾種觸發(fā)方式

發(fā)布時間:2021-12-15 11:33:32 來源:億速云 閱讀:531 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關css3過渡有幾種觸發(fā)方式,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

css3過渡有2種觸發(fā)方式:1、通過偽類元素觸發(fā),包括“:hover”、“:focus”、“:checked”等方式;2、通過JS觸發(fā),使用js或Jquery代碼修改CSS屬性,進而觸發(fā)transition的漸變。

本教程操作環(huán)境:windows7系統(tǒng)、CSS3&&HTML5版、Dell G3電腦。

transition

??transition是CSS3最簡單的動畫, 當元素的屬性發(fā)生改變能夠以漸變的方式呈現(xiàn)出來; 如下代碼是w3c上的一個示例, 加上了transition的結果就是在hover時, 長度會逐步增加到300px.

<!DOCTYPE html>
<html>
<head>
<style> 
div
{
width:100px;
height:100px;
background:blue;
transition:width 2s;
-moz-transition:width 2s; /* Firefox 4 */
-webkit-transition:width 2s; /* Safari and Chrome */
-o-transition:width 2s; /* Opera */
}

div:hover
{
width:300px;
}
</style>
</head>
<body>

<div></div>

<p>請把鼠標指針移動到藍色的 div 元素上,就可以看到過渡效果。</p>

<p><b>注釋:</b>本例在 Internet Explorer 中無效。</p>

</body>
</html>

css3過渡的觸發(fā)方式

第一種: 通過偽類元素觸發(fā),包括hover、focus、checked等方式

<style>
    .box{
        width: 100px;
        height: 100px;
        background-color: blueviolet;
        transition: width 1s linear .5s;
    }
    .box:hover{
        width: 400px;
    }
</style>

<p class="box"></p>

但是實際使用當中我們更多的是使用JS或者Jquery直接修改屬性, 但是工作中發(fā)現(xiàn)這樣不行。

第二種: 通過JS觸發(fā)

如果使用JS或者Jquery直接修改CSS屬性

JS觸發(fā)方式應當是它的class發(fā)生改變以至于能夠得到新的樣式。

我的理解是必須元素發(fā)生什么改變使得它有了一些不同從而獲取到一些新的屬性,對于偽類觸發(fā)是這樣,對于JS觸發(fā)方式應當是它的class發(fā)生改變以至于能夠得到新的樣式。

通過給p添加newclass的類使得p發(fā)生改變獲取到該類, 能夠觸發(fā)transition的漸變。

<style>
    .box{
      width: 100px;
      height: 100px;
      background-color: blueviolet;
      transition: width 1s linear .5s;
    }
    .box1{
      width: 400px;
    }
</style>

<p class="box"></p>

<scrpit>
    setTimeout(() => {
      let element = document.getElementsByClassName('box')[0];
      element.classList.add('box1')

    }, 1) 
</scrpit>

關于“css3過渡有幾種觸發(fā)方式”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI