舉例詳解CSS3中的Transition

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