您好,登錄后才能下訂單哦!
這篇文章主要介紹“如何使用CSS實現outline切換的動畫效果”,在日常操作中,相信很多人在如何使用CSS實現outline切換的動畫效果問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”如何使用CSS實現outline切換的動畫效果”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
CSS實現的outline動畫
gif截圖走起~~~~~
首先是Chrome瀏覽器下:
然后是FireFox瀏覽器下:
您可以狠狠地點擊這里:使用CSS實現focus outline動畫效果demo
相比JS方法,我這里的CSS只是針對demo中的表單有效果,支持的瀏覽器多了一類,就是IE10+.
使用了focus偽類和相鄰選擇器對外發光的元素進行了位置和尺寸的控制,配合transition就有了動畫效果啦!
相關CSS如下:
CSS Code復制內容到剪貼板
.focus-trans {
// 那個移動的外發光的框框的初始位置和大小
position: absolute; left: 99px; top: -100px;
width: 100px; height: 30px;
// Chrome瀏覽器下使用瀏覽器自帶的focus效果,這里的5px其實是醬油
outline: 5px auto -webkit-focus-ring-color;
// IE10+, FireFox瀏覽器下藍色的藍色框框效果(模擬Safari)
box-shadow: 0 0 2px 3px #78aeda, 0 0 2px #78aeda inset;
-webkit-box-shadow: none;
border-radius: 3px;
// 為的是失去焦點時候,框框立即消失
-webkit-transition: none;
transition: none;
// Firefox有bug,所以這里補丁了下
-moz-transition: all .15s;
}
form *:focus ~ .focus-trans { transition: all .15s;}
哈哈,應該不難理解。
~選擇器表示相鄰的兄弟元素。于是,我們就可以控制外發光的框框了,例如:
CSS Code復制內容到剪貼板
.code:focus ~ .focus-trans { width: 130px; height: 42px; left: 99px; top: 66px; }
看上去效果還不錯。
實際上,還是有諸多限制的。首先,表單元素必須相鄰,否則無法控制同一個元素,也就無法實現連續的動畫;其次,每個控件的outline位置以及大小都是要沖定義的,實現的工時成本比較高,只能在局部重用位置使用。
到此,關于“如何使用CSS實現outline切換的動畫效果”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。