圖文無關,僅作例子
在網頁設計中,常常需要使用邊框來給元素一個明顯的視覺分隔。但是,簡單的邊框會讓網頁顯得過于單調,而動態邊框則能讓網頁更有活力。下面我們就來看一下如何實現css邊框動態效果。
.border { position: relative; border: 2px solid #000; overflow: hidden; } .border:hover:before { content: ''; position: absolute; top: -2px; left: -2px; width: calc(100% + 4px); height: calc(100% + 4px); border: 1px solid #f00; animation: border 1s ease-in-out infinite; } @keyframes border { 0% { transform: translate(-10px, -10px); } 25% { transform: translate(10px, -10px); } 50% { transform: translate(10px, 10px); } 75% { transform: translate(-10px, 10px); } 100% { transform: translate(-10px, -10px); } }
首先,我們創建一個父元素,并給它指定一個位置:relative,以便我們后面絕對定位子元素。然后,我們給這個父元素一個border來創建一個普通的邊框。
然后,我們定義一個:before偽元素,并給它一個參考點。我們需要將這個偽元素覆蓋在之前的邊框上,所以我們設定它的寬和高等于100%的父元素加上4像素的間距,而且需要把它的位置偏移2像素左上。然后我們給它一個1像素的紅色邊框,并設置一個動畫。
最后,我們定義一個名為border的關鍵幀動畫。這個動畫定義了一個旋轉的運動軌跡,最后通過infinite屬性來讓這個動畫一直循環。當用戶鼠標懸停在這個父元素上時,這個動畫就能觸發。
總體來說,這個效果相對簡單易用,希望對進行css邊框動態效果設計的讀者們有所幫助。
上一篇屏蔽寶貝的css代碼
下一篇小程序移入其他css