您好,登錄后才能下訂單哦!
CSS3中的Transition是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
1.會伸縮的搜索表單
常在 sf.gg 混的人都知道,它的頂部導航欄是這樣的:
當輸入框獲得焦點就會變成這樣的:
利用 CSS3 的 Transition 屬性,我們可以簡單做出一個類似的搜索表單出來:
HTML 標記:
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;
/*針對webkit內核的瀏覽器的廠商前綴*/
-webkit-transition:0.5s width;
}
form.searchForm input:focus{
width: 400px; /*如果失去焦點,則縮回原來長度*/
}
form.searchForm label{
display: none; /*標注是必要的,但不用顯示出來*/
}
效果圖:
默認:
獲得焦點:
對于那些可以輸入的控件,大家又俗稱其為 字段。每個表單控件(submit 按鈕除外),都有一個對應的 label 文本元素,用于描述控件代表的數據。所以,一個搜索框就是 一個字段的表單。
2.CSS3過渡
示例:
CSS
-webkit-transition:0.5s width;
注意:transition 屬性需要使用帶廠商前綴的形式——這里示例只帶有Webkit(Chrome / Safari)前綴的屬性。
CSS3 過渡可以讓 CSS 屬性產生動畫效果。平常被某些事件觸發時變化很突然的樣式,比如鼠標懸停時改變鏈接顏色,使用過渡后會在指定的時間段內逐漸變化。第一條 CSS 規則設定屬性的初始狀態和過渡參數。第二條 CSS 規則設定事件發生時屬性的目標狀態。
通常,過渡動畫是由用戶鼠標懸停時的 :hover 偽類規則和表單元素獲得焦點時的 :focus 偽類規則觸發的。除此之外,還可以在一個帶類名選擇符的規則中設定新狀態,然后通過 JavaScript(或其他 JS 類庫)為元素添加這個類名來觸發過渡,添加類名的時機可以是鼠標點擊或其它事件發生時。
有五個過渡屬性:
transition-property,過渡的 CSS 屬性名,比如 color、 width;
transition-duration,過渡的持續時間,以秒或毫秒設定,比如 2s、 500ms;
transition-timing-function,過渡的調速函數,決定動畫效果是否平滑,是先慢后快還
是先快后慢,比如 ease-in、 ease-out、 ease-in-out 或 linear(默認值);
transition-delay,過渡開始前的延遲時間,以秒或毫秒設定,比如 1s、 200ms;
transition,過渡的簡寫屬性,例如 transition:color 2s ease-in 1ms; 。
注意::很多(并非全部)CSS 屬性都可以通過 transition 屬性來實現動畫效果。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。