您好,登錄后才能下訂單哦!
這篇文章主要介紹了怎么使用純CSS代碼實現切換按鈕時背景的懸停動畫效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
代碼解讀
定義dom,導航中包含一個無序列表,列表中有一個列表項:
<nav>
<ul>
<li>home</li>
</ul>
</nav>
居中顯示:
body{
margin:0;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
background-color:teal;
}
隱藏列表項前端的引導符號:
navul{
padding:0;
list-style-type:none;
}
定義按鈕容器尺寸:
:root{
font-size:10px;
}
navli{
width:20rem;
height:7rem;
}
設置文字樣式:
navli{
font-size:20px;
text-align:center;
line-height:7rem;
font-family:sans-serif;
text-transform:uppercase;
letter-spacing:1px;
}
用偽元素制作2個背景色塊:
navli{
position:relative;
}
navli::before,
navli::after{
content:'';
position:absolute;
width:inherit;
height:inherit;
top:0;
left:0;
}
navli::before{
background-color:white;
z-index:-1;
}
navli::after{
background-color:goldenrod;
z-index:-2;
}
讓后面的背景塊向右下偏移,并且讓前面的背景塊投放陰影,增加立體效果:
navli::before{
box-shadow:0.2rem0.2rem0.5remrgba(0,0,0,0.2);
}
navli::after{
transform:translate(1.5rem,1.5rem);
}
接下來增加懸停效果。
設置緩動時間,主元素和偽元素都將有緩動效果:
navli{
transition:0.3s;
}
navli::before,
navli::after{
transition:0.3s;
}
當懸停時,2個背景色塊的顏色互換:
navli:hover::before{
background-color:goldenrod;
}
navli:hover::after{
background-color:white;
}
同時,后面的背景色塊的向左上方移動,按鈕整體則向右下方移動:
navli:hover{
transform:translate(1.5rem,1.5rem);
}
navli:hover::after{
transform:translate(-1.5rem,-1.5rem);
}
同時,再讓文本在懸停時變色:
navli:hover{
color:white;
}
再增加幾個按鈕:
<nav>
<ul>
<li>home</li>
<li>products</li>
<li>services</li>
<li>contact</li>
</ul>
</nav>
最后,增加按鈕之間的間距:
navli{
margin:3rem;
}
感謝你能夠認真閱讀完這篇文章,希望小編分享的“怎么使用純CSS代碼實現切換按鈕時背景的懸停動畫效果”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。