CSS3 動(dòng)畫線條是指利用 CSS3 技術(shù)實(shí)現(xiàn)線條動(dòng)畫效果,使用起來(lái)非常靈活,能夠創(chuàng)作出很多獨(dú)特的網(wǎng)頁(yè)效果。
要實(shí)現(xiàn)動(dòng)畫線條,我們可以使用 CSS3 的 border 屬性或者 use svg 矢量圖形。舉個(gè)例子我們可以通過(guò)以下代碼實(shí)現(xiàn)一個(gè)矩形邊框動(dòng)畫:
.box{ width: 200px; height: 200px; border: 2px solid transparent; position: relative; } .box:hover{ animation: borderAnim 2s linear infinite; } @keyframes borderAnim{ 0%{ border-left-color: #ffffff; } 25%{ border-bottom-color: #ffffff; } 50%{ border-right-color: #ffffff; } 75%{ border-top-color: #ffffff; } 100%{ border-left-color: #ffffff; } }
這里對(duì) .box 進(jìn)行了基礎(chǔ)樣式定義,然后使用 hover 選擇器,進(jìn)行動(dòng)畫的定義,使用 animation 屬性以及 keyframes 定義動(dòng)畫的過(guò)程。在 keyframes 中使用 border-left-color, border-bottom-color, border-right-color, border-top-color 屬性開啟線條顏色動(dòng)畫,將邊框顏色從透明色漸變至白色,再回歸至透明色。
使用這樣的方式能夠創(chuàng)造出各式各樣的效果,例如我們可以通過(guò) SCSS 定義顏色變量, 邊框?qū)挾茸兞縼?lái)更方便地創(chuàng)建和管理不同效果的動(dòng)畫線條。
$border-width: 2px; $border-color: #ffffff; .box{ width: 200px; height: 200px; border: #{$border-width} solid transparent; position:relative; } @mixin borderAnim($direction, $index) { &.animated .border-#{$direction} { animation: borderAnim#{$direction} 2s linear infinite $index; } @keyframes borderAnim#{$direction}{ 0%{ border-#{$direction}-color: transparent; } 100%{ border-#{$direction}-color: $border-color; } } } .box{ @include borderAnim(left, 0s); @include borderAnim(bottom, 0.5s); @include borderAnim(right, 1s); @include borderAnim(top, 1.5s); }
這里樣式代碼中使用了變量定義,同時(shí)添加了 SCSS 中的 mixin 進(jìn)行代碼復(fù)用,實(shí)現(xiàn)了每個(gè)方向線條顏色的時(shí)間間隔調(diào)整。
總而言之,CSS3 動(dòng)畫線條是一種很有趣的網(wǎng)絡(luò)設(shè)計(jì)元素,能夠令網(wǎng)頁(yè)效果更加鮮明且顏值更高,更好地吸引用戶的注意力。希望本文對(duì)你有所幫助。