您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關使用純CSS怎么實現帶有金屬光澤的立體按鈕的動畫效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
https://github.com/comehope/front-end-daily-challenges/tree/master/004-metallic-glossy-3d-button-effects
在 dom 中定義一個容器:
<div class="box">BUTTON</div>
容器居中顯示:
html, body { height: 100%; display: flex; align-items: center; justify-content: center; background-color: skyblue; }
設置按鈕的 2d 樣式,為了便于調整按鈕尺寸,使用了變量:
.box { background: linear-gradient(to right, gold, darkorange); color: white; --width: 250px; --height: calc(var(--width) / 3); width: var(--width); height: var(--height); text-align: center; line-height: var(--height); font-size: calc(var(--height) / 2.5); font-family: sans-serif; letter-spacing: 0.2em; border: 1px solid darkgoldenrod; border-radius: 2em; }
設置按鈕的 3d 樣式:
.box { transform: perspective(500px) rotateY(-15deg); text-shadow: 6px 3px 2px rgba(0, 0, 0, 0.2); box-shadow: 2px 0 0 5px rgba(0, 0, 0, 0.2); }
定義按鈕的鼠標劃過動畫效果:
.box:hover { transform: perspective(500px) rotateY(15deg); text-shadow: -6px 3px 2px rgba(0, 0, 0, 0.2); box-shadow: -2px 0 0 5px rgba(0, 0, 0, 0.2); } .box { transition: 0.5s; }
用偽元素增加光澤:
.box { position: relative; } .box::before { content: ''; position: absolute; width: 100%; height: 100%; background: linear-gradient(to right, transparent, white, transparent); left: 0; }
定義光澤動畫效果:
.box::before { left: -100%; transition: 0.5s; } .box:hover::before { left: 100%; }
最后,隱藏容器之外的內容:
.box { overflow: hidden; }
大功告成!
關于使用純CSS怎么實現帶有金屬光澤的立體按鈕的動畫效果就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。