最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用CSS實(shí)現(xiàn)outline切換的動(dòng)畫效果

  發(fā)布時(shí)間:2015-06-24 16:14:16   作者:張?chǎng)涡?  我要評(píng)論
這篇文章主要介紹了使用CSS實(shí)現(xiàn)outline切換的動(dòng)畫效果,作者展示了一個(gè)應(yīng)用于注冊(cè)框中的方框自動(dòng)切換位置的例子,需要的朋友可以參考下

我記得有個(gè)版本的迅雷軟件,會(huì)發(fā)現(xiàn)focus文本框時(shí)候,其外發(fā)光的外掛會(huì)跟著動(dòng)畫移動(dòng)。據(jù)說這一系列N動(dòng)畫交互引擎的維護(hù)成本還是挺高的。

今天,偶然看到一個(gè)名叫Nikita Vasilyev的兄弟在web頁面上折騰了個(gè)類似效果,您有興趣可以點(diǎn)擊這里瞅瞅。Github地址為:https://github.com/NV/flying-focus/

焦點(diǎn)飛來飛去~

使用很簡(jiǎn)單,只要在頁面上加載了下面這個(gè)JS: flying-focus.js 就可以實(shí)現(xiàn)Tab切換焦點(diǎn)框的時(shí)候,焦點(diǎn)框是飛過去的~~

看上去很酷。

不過,對(duì)于實(shí)際的對(duì)外項(xiàng)目而言,價(jià)值并不大。首先是兼容性,其次是JS依賴,再者是全局處理(影響頁面所有元素)。由于借助pointer-events:none,只有Chrome以及Safari支持。不過,在一些特殊或重要的表單上使用這種增強(qiáng)的交互可能會(huì)有出彩的效果。也就是只適合局部使用。或者在個(gè)人網(wǎng)站上用用。對(duì)于大多數(shù)內(nèi)網(wǎng)項(xiàng)目,華而不實(shí)的效果沒有任何意義。

但是,作者的想法與創(chuàng)意是相當(dāng)好的。于是,我們可以再其創(chuàng)造性的idea上揉進(jìn)自己的技術(shù),折騰出其他些東西。

例如,我就有個(gè)蛋疼的想法:“哈,使用純CSS可不可以實(shí)現(xiàn)類似效果呢?”

一頓啪啪啪,喲,有個(gè)略有模樣的demo還真出來了。再次賣弄下。
CSS實(shí)現(xiàn)的outline動(dòng)畫

哈,說到現(xiàn)在,估計(jì)大多數(shù)人還不清楚我叨叨到現(xiàn)在的效果是個(gè)什么樣子呢?

gif截圖走起~~~~~

首先是Chrome瀏覽器下:

然后是FireFox瀏覽器下:

您可以狠狠地點(diǎn)擊這里:使用CSS實(shí)現(xiàn)focus outline動(dòng)畫效果demo

相比JS方法,我這里的CSS只是針對(duì)demo中的表單有效果,支持的瀏覽器多了一類,就是IE10+.

使用了focus偽類和相鄰選擇器對(duì)外發(fā)光的元素進(jìn)行了位置和尺寸的控制,配合transition就有了動(dòng)畫效果啦!

相關(guān)CSS如下:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .focus-trans {   
  2.     // 那個(gè)移動(dòng)的外發(fā)光的框框的初始位置和大小   
  3.     positionabsoluteleft99pxtop: -100px;   
  4.     width100pxheight30px;   
  5.     // Chrome瀏覽器下使用瀏覽器自帶的focus效果,這里的5px其實(shí)是醬油   
  6.     outline5px auto -webkit-focus-ring-color;   
  7.     // IE10+, FireFox瀏覽器下藍(lán)色的藍(lán)色框框效果(模擬Safari)   
  8.     box-shadow: 0 0 2px 3px #78aeda, 0 0 2px #78aeda inset;   
  9.     -webkit-box-shadow: none;   
  10.     border-radius: 3px;   
  11.     // 為的是失去焦點(diǎn)時(shí)候,框框立即消失   
  12.     -webkit-transition: none;   
  13.     transition: none;   
  14.     // Firefox有bug,所以這里補(bǔ)丁了下   
  15.     -moz-transition: all .15s;   
  16. }  

form *:focus ~ .focus-trans { transition: all .15s;}

哈哈,應(yīng)該不難理解。
~選擇器表示相鄰的兄弟元素。于是,我們就可以控制外發(fā)光的框框了,例如:

CSS Code復(fù)制內(nèi)容到剪貼板
  1. .code:focus ~ .focus-trans {  width130pxheight42pxleft99pxtop66px; }  

看上去效果還不錯(cuò)。

實(shí)際上,還是有諸多限制的。首先,表單元素必須相鄰,否則無法控制同一個(gè)元素,也就無法實(shí)現(xiàn)連續(xù)的動(dòng)畫;其次,每個(gè)控件的outline位置以及大小都是要沖定義的,實(shí)現(xiàn)的工時(shí)成本比較高,只能在局部重用位置使用。

相關(guān)文章

最新評(píng)論

旌德县| 新兴县| 陕西省| 昌吉市| 香港| 清河县| 通化市| 鄂托克旗| 垫江县| 溧阳市| 开鲁县| 松原市| 叶城县| 水富县| 沿河| 广平县| 天等县| 临夏市| 巴塘县| 裕民县| 罗田县| 湖州市| 绥化市| 赤峰市| 紫云| 花莲市| 土默特右旗| 剑河县| 新民市| 达州市| 德昌县| 东源县| 泉州市| 桑植县| 沙洋县| 兰溪市| 澄江县| 左贡县| 桂平市| 舟曲县| 霍州市|