您好,登錄后才能下訂單哦!
CSS3中的Transition是怎樣的,很多新手對(duì)此不是很清楚,為了幫助大家解決這個(gè)難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來(lái)學(xué)習(xí)下,希望你能有所收獲。
1.會(huì)伸縮的搜索表單
常在 sf.gg 混的人都知道,它的頂部導(dǎo)航欄是這樣的:
當(dāng)輸入框獲得焦點(diǎn)就會(huì)變成這樣的:
利用 CSS3 的 Transition 屬性,我們可以簡(jiǎn)單做出一個(gè)類似的搜索表單出來(lái):
HTML 標(biāo)記:
XML/HTML
<header>
<form action="#" method="post" class="searchForm">
<label for="search">search</label>
<input type="search" id="search" name="search" placeholder="search">
</form>
</header>
CSS 樣式:
CSS
*{
margin: 0;
padding: 0;
}
header{
font-family: helvetica,arial,sans-serif;
display: block;
overflow: hidden;
width:500px;
margin: 15px;
border-radius: 3px;
background-color: #ddd;
}
form.searchForm{
/*包含label和input的容器*/
width: 200px;
margin: 5px;
padding: 5px;
}
form.searchForm input{
width: 90px;
padding: 2px 0 3px 5px;
outline: none;
font-size: 1.2em;
border-color: #eee #ccc #ccc #eee;
border-radius: 10px;
/*針對(duì)webkit內(nèi)核的瀏覽器的廠商前綴*/
-webkit-transition:0.5s width;
}
form.searchForm input:focus{
width: 400px; /*如果失去焦點(diǎn),則縮回原來(lái)長(zhǎng)度*/
}
form.searchForm label{
display: none; /*標(biāo)注是必要的,但不用顯示出來(lái)*/
}
效果圖:
默認(rèn):
獲得焦點(diǎn):
對(duì)于那些可以輸入的控件,大家又俗稱其為 字段。每個(gè)表單控件(submit 按鈕除外),都有一個(gè)對(duì)應(yīng)的 label 文本元素,用于描述控件代表的數(shù)據(jù)。所以,一個(gè)搜索框就是 一個(gè)字段的表單。
2.CSS3過(guò)渡
示例:
CSS
-webkit-transition:0.5s width;
注意:transition 屬性需要使用帶廠商前綴的形式——這里示例只帶有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ì)億速云的支持。
免責(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)容。