国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > CSS > 正文

利用SVG和CSS3來實(shí)現(xiàn)一個(gè)炫酷的邊框動(dòng)畫

2024-07-11 08:55:29
字體:
供稿:網(wǎng)友

    演示 | 下載


今天我們來探索一下Carl Philipe Brenner的網(wǎng)站上一個(gè)微妙而有趣的動(dòng)畫效果。當(dāng)鼠標(biāo)經(jīng)過網(wǎng)格元素時(shí),會(huì)有一個(gè)微妙的動(dòng)畫發(fā)生——網(wǎng)格元素變得透明,每條邊有個(gè)順時(shí)針的動(dòng)畫,創(chuàng)造了非常好的效果。這種效果是通過JS給span標(biāo)簽的寬或者高做了動(dòng)畫。我們待會(huì)會(huì)用SVG和CSS漸變來完成。注意,這個(gè)技術(shù)還是實(shí)驗(yàn)性的。

首先,讓我們來看看基本的概念,然后我們會(huì)朝著這個(gè)方向努力。

請(qǐng)注意,我們將在SVG上使用CSS過渡,可能無法得到所有瀏覽器的支持。

乍眼一看可能不明白這個(gè)效果是怎么完成的。我們先仔細(xì)看看上面的邊就會(huì)發(fā)現(xiàn),白色的邊的寬度不斷從右邊往左邊延伸,而一條稍微延時(shí)的邊緊跟著一起移動(dòng)。每條邊都有這樣的做法??雌饋砭拖裆厦娴倪吔?jīng)過拐角移動(dòng)到了左邊,并以此類推。

不用SVG也能完成這樣的效果,甚至只用偽元素。但是我們想探索一下怎樣用CSS而不是JavaScript來控制SVG。

現(xiàn)在,來思考一下要怎么創(chuàng)建出這樣的效果。我們可以改變矩形的troke-dashoffset或者直接畫線。我們嘗試不用JavaScript的解決方案。我們發(fā)現(xiàn),CSS過渡stroke-dashoffset 和 stroke-dasharray的值會(huì)觸發(fā)很多BUG。所以我們要嘗試不同的解決方案,利用線條和它們的動(dòng)畫,這在CSS里很容易理解和實(shí)現(xiàn)。這也給我們更多機(jī)會(huì)去探索不同的動(dòng)畫效果。

我們將要使用的線的特別之處是,它們?cè)谶@個(gè)動(dòng)畫里將有三種狀態(tài)。它們是方盒邊長(zhǎng)的三倍,其中中間一截是與邊等長(zhǎng)的間隙。我們將通過設(shè)置stroke-dashoffset的值來實(shí)現(xiàn)與方盒的邊等長(zhǎng)?,F(xiàn)在,這個(gè)動(dòng)畫實(shí)現(xiàn)的關(guān)鍵在于線的位置轉(zhuǎn)換:
2015722165434429.gif (600×369)

SVG與方盒大小一致,就不會(huì)看到超出虛線的部分。

我們先完成第一條線:

CSS Code復(fù)制內(nèi)容到剪貼板
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 肇东市| 伽师县| 浮梁县| 赞皇县| 梁河县| 凤山市| 西平县| 平陆县| 虞城县| 咸丰县| 南阳市| 海原县| 崇礼县| 竹北市| 当阳市| 修文县| 北流市| 南漳县| 健康| 麻江县| 娱乐| 南丹县| 二连浩特市| 安仁县| 凤阳县| 青川县| 东乌珠穆沁旗| 明光市| 乐平市| 宝应县| 平原县| 七台河市| 福安市| 永年县| 明水县| 凌云县| 加查县| 中西区| 泽州县| 宿州市| 舟山市|