舉例詳解CSS3中的Transition

1.會(huì)伸縮的搜索表單
常在 sf.gg 混的人都知道,它的頂部導(dǎo)航欄是這樣的:
當(dāng)輸入框獲得焦點(diǎn)就會(huì)變成這樣的:
利用 CSS3 的 Transition 屬性,我們可以簡(jiǎn)單做出一個(gè)類似的搜索表單出來(lái):
HTML 標(biāo)記:
- <header>
- <form action="#" method="post" class="searchForm">
- <label for="search">search</label>
- <input type="search" id="search" name="search" placeholder="search">
- </form>
- </header>
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過渡
示例:
- -webkit-transition:0.5s width;
注意:transition 屬性需要使用帶廠商前綴的形式——這里示例只帶有Webkit(Chrome / Safari)前綴的屬性。
CSS3 過渡可以讓 CSS 屬性產(chǎn)生動(dòng)畫效果。平常被某些事件觸發(fā)時(shí)變化很突然的樣式,比如鼠標(biāo)懸停時(shí)改變鏈接顏色,使用過渡后會(huì)在指定的時(shí)間段內(nèi)逐漸變化。第一條 CSS 規(guī)則設(shè)定屬性的初始狀態(tài)和過渡參數(shù)。第二條 CSS 規(guī)則設(shè)定事件發(fā)生時(shí)屬性的目標(biāo)狀態(tài)。
通常,過渡動(dòng)畫是由用戶鼠標(biāo)懸停時(shí)的 :hover 偽類規(guī)則和表單元素獲得焦點(diǎn)時(shí)的 :focus 偽類規(guī)則觸發(fā)的。除此之外,還可以在一個(gè)帶類名選擇符的規(guī)則中設(shè)定新狀態(tài),然后通過 JavaScript(或其他 JS 類庫(kù))為元素添加這個(gè)類名來(lái)觸發(fā)過渡,添加類名的時(shí)機(jī)可以是鼠標(biāo)點(diǎn)擊或其它事件發(fā)生時(shí)。
有五個(gè)過渡屬性:
transition-property,過渡的 CSS 屬性名,比如 color、 width;
transition-duration,過渡的持續(xù)時(shí)間,以秒或毫秒設(shè)定,比如 2s、 500ms;
transition-timing-function,過渡的調(diào)速函數(shù),決定動(dòng)畫效果是否平滑,是先慢后快還
是先快后慢,比如 ease-in、 ease-out、 ease-in-out 或 linear(默認(rèn)值);
transition-delay,過渡開始前的延遲時(shí)間,以秒或毫秒設(shè)定,比如 1s、 200ms;
transition,過渡的簡(jiǎn)寫屬性,例如 transition:color 2s ease-in 1ms; 。
注意::很多(并非全部)CSS 屬性都可以通過 transition 屬性來(lái)實(shí)現(xiàn)動(dòng)畫效果。
相關(guān)文章
- 這篇文章主要為大家詳細(xì)介紹了CSS3中Transition動(dòng)畫屬性用法,教大家如何使用Transition動(dòng)畫,感興趣的小伙伴們可以參考一下2016-07-04
CSS3中的Transition過度與Animation動(dòng)畫屬性使用要點(diǎn)
這篇文章主要介紹了CSS3中的Transition過度與Animation動(dòng)畫屬性使用要點(diǎn)Transition和Animation能被用來(lái)制作基本的頁(yè)面圖片動(dòng)態(tài)效果,當(dāng)然進(jìn)一步的控制還是需要JavaScript的2016-05-20- 這篇文章主要為大家詳細(xì)介紹了CSS3過渡transition效果實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-05-03
基于css3的屬性transition制作菜單導(dǎo)航效果
這篇文章主要為大家介紹了基于css3的屬性transition制作菜單導(dǎo)航效果,可實(shí)現(xiàn)鼠標(biāo)滑過菜單項(xiàng)動(dòng)態(tài)改變背景滑塊的功能,基于css3的屬性transition實(shí)現(xiàn),非常具有實(shí)用價(jià)值,需要的2015-09-01利用CSS3的transition屬性實(shí)現(xiàn)滑動(dòng)效果
這篇文章主要介紹了利用CSS3的transition屬性實(shí)現(xiàn)滑動(dòng)效果,是CSS3入門學(xué)習(xí)時(shí)的基本應(yīng)用,需要的朋友可以參考下2015-08-05CSS3使用transition實(shí)現(xiàn)的鼠標(biāo)懸停淡入淡出
這篇文章主要介紹了CSS3使用transition實(shí)現(xiàn)的鼠標(biāo)懸停淡入淡出的效果,十分炫酷,需要的小伙伴快來(lái)參考下。2015-01-09- 這篇文章主要介紹了css3的transition屬性詳解,需要的朋友可以參考下2014-12-15
- W3C標(biāo)準(zhǔn)中對(duì)CSS3的transition這是樣描述的:“CSS的transition允許CSS的屬性值在一定的時(shí)間區(qū)間內(nèi)平滑地過渡。這種效果可以在鼠標(biāo)單擊、獲得焦點(diǎn)、被點(diǎn)擊或?qū)υ厝魏胃淖冎?/div> 2014-09-02
CSS3的transition和animation的用法實(shí)例介紹
transition用于設(shè)定一個(gè)元素的兩個(gè)狀態(tài),不同的狀態(tài)可以用偽類,下面與大家分享下CSS3的transition和animation的用法,需要的朋友可以參考下2014-08-20css3的transition效果和transfor效果示例介紹
transform:變形即旋轉(zhuǎn)度數(shù)、傾斜、按比例縮放等等;而transition 允許css的屬性值在一定的時(shí)間區(qū)間內(nèi)平滑地過渡,下面有個(gè)不錯(cuò)的示例,喜歡的朋友可以感受下2013-10-30最新評(píng)論