溫馨提示×

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

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

CSS3中的Transition是怎樣的

發(fā)布時(shí)間:2021-09-17 17:49:31 來(lái)源:億速云 閱讀:116 作者:柒染 欄目:web開發(fā)

CSS3中的Transition是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。

1.會(huì)伸縮的搜索表單

常在 sf.gg 混的人都知道,它的頂部導(dǎo)航欄是這樣的:
CSS3中的Transition是怎樣的

當(dāng)輸入框獲得焦點(diǎn)就會(huì)變成這樣的:
CSS3中的Transition是怎樣的

利用 CSS3 的 Transition 屬性,我們可以簡(jiǎn)單做出一個(gè)類似的搜索表單出來(lái):

HTML 標(biāo)記:

XML/HTML 

  1. <header>  

  2.     <form action="#" method="post" class="searchForm">  

  3.         <label for="search">search</label>  

  4.         <input type="search" id="search" name="search" placeholder="search">  

  5.     </form>  

  6. </header>  

CSS 樣式:

CSS 

  1. *{   

  2.     margin: 0;   

  3.     padding: 0;   

  4. }   

  5. header{   

  6.     font-familyhelvetica,arial,sans-serif;   

  7.     displayblock;   

  8.     overflowhidden;   

  9.     width:500px;           

  10.     margin15px;   

  11.     border-radius: 3px;   

  12.     background-color#ddd;   

  13. }   

  14. form.searchForm{   

  15.     /*包含label和input的容器*/  

  16.     width200px;   

  17.     margin5px;   

  18.     padding5px;   

  19. }   

  20. form.searchForm input{   

  21.     width90px;   

  22.     padding2px 0 3px 5px;   

  23.     outlinenone;   

  24.     font-size: 1.2em;   

  25.     border-color#eee #ccc #ccc #eee;   

  26.     border-radius: 10px;   

  27.     /*針對(duì)webkit內(nèi)核的瀏覽器的廠商前綴*/  

  28.     -webkit-transition:0.5s width;   

  29. }   

  30. form.searchForm input:focus{   

  31.     width400px;   /*如果失去焦點(diǎn),則縮回原來(lái)長(zhǎng)度*/  

  32. }   

  33. form.searchForm label{   

  34.     displaynone;  /*標(biāo)注是必要的,但不用顯示出來(lái)*/  

  35. }  

效果圖:

默認(rèn):
CSS3中的Transition是怎樣的

獲得焦點(diǎn):
CSS3中的Transition是怎樣的


    對(duì)于那些可以輸入的控件,大家又俗稱其為 字段。每個(gè)表單控件(submit 按鈕除外),都有一個(gè)對(duì)應(yīng)的 label 文本元素,用于描述控件代表的數(shù)據(jù)。所以,一個(gè)搜索框就是 一個(gè)字段的表單。

2.CSS3過(guò)渡

示例:

CSS 

  1. -webkit-transition:0.5s width;  

    注意:transition 屬性需要使用帶廠商前綴的形式&mdash;&mdash;這里示例只帶有Webkit(Chrome / Safari)前綴的屬性。

CSS3 過(guò)渡可以讓 CSS 屬性產(chǎn)生動(dòng)畫效果。平常被某些事件觸發(fā)時(shí)變化很突然的樣式,比如鼠標(biāo)懸停時(shí)改變鏈接顏色,使用過(guò)渡后會(huì)在指定的時(shí)間段內(nèi)逐漸變化。第一條 CSS 規(guī)則設(shè)定屬性的初始狀態(tài)和過(guò)渡參數(shù)。第二條 CSS 規(guī)則設(shè)定事件發(fā)生時(shí)屬性的目標(biāo)狀態(tài)。

通常,過(guò)渡動(dòng)畫是由用戶鼠標(biāo)懸停時(shí)的 :hover 偽類規(guī)則和表單元素獲得焦點(diǎn)時(shí)的 :focus 偽類規(guī)則觸發(fā)的。除此之外,還可以在一個(gè)帶類名選擇符的規(guī)則中設(shè)定新狀態(tài),然后通過(guò) JavaScript(或其他 JS 類庫(kù))為元素添加這個(gè)類名來(lái)觸發(fā)過(guò)渡,添加類名的時(shí)機(jī)可以是鼠標(biāo)點(diǎn)擊或其它事件發(fā)生時(shí)。

有五個(gè)過(guò)渡屬性:

    transition-property,過(guò)渡的 CSS 屬性名,比如 color、 width;
    transition-duration,過(guò)渡的持續(xù)時(shí)間,以秒或毫秒設(shè)定,比如 2s、 500ms;
    transition-timing-function,過(guò)渡的調(diào)速函數(shù),決定動(dòng)畫效果是否平滑,是先慢后快還
    是先快后慢,比如 ease-in、 ease-out、 ease-in-out 或 linear(默認(rèn)值);
    transition-delay,過(guò)渡開始前的延遲時(shí)間,以秒或毫秒設(shè)定,比如 1s、 200ms;
    transition,過(guò)渡的簡(jiǎn)寫屬性,例如 transition:color 2s ease-in 1ms; 。

    注意::很多(并非全部)CSS 屬性都可以通過(guò) transition 屬性來(lái)實(shí)現(xiàn)動(dòng)畫效果。

看完上述內(nèi)容是否對(duì)您有幫助呢?如果還想對(duì)相關(guān)知識(shí)有進(jìn)一步的了解或閱讀更多相關(guān)文章,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝您對(duì)億速云的支持。

向AI問(wèn)一下細(xì)節(jié)

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

AI