您好,登錄后才能下訂單哦!
這篇文章主要為大家展示了“怎么使用純CSS代碼實現從按鈕兩側滑入元素的懸停效果”,內容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“怎么使用純CSS代碼實現從按鈕兩側滑入元素的懸停效果”這篇文章吧。
代碼解讀
定義dom,容器是一個無序列表,列表項代表按鈕:
<ul>
<li>home</li>
</ul>
居中顯示:
body{
margin:0;
height:100vh;
display:flex;
align-items:center;
justify-content:center;
background:linear-gradient(deepskyblue,navy);
}
去掉列表項前面的符號:
ul{
padding:0;
list-style-type:none;
}
設置按鈕的文字樣式:
ulli{
color:#ddd;
font-size:25px;
font-family:sans-serif;
text-transform:uppercase;
}
用偽元素在按鈕的左側增加一個方塊:
ulli{
position:relative;
}
ulli::before{
content:'';
position:absolute;
width:100%;
height:100%;
background:tomato;
left:-100%;
}
用偽元素在按鈕的右側增加一條下劃線:
ulli::after{
content:'';
position:absolute;
width:100%;
height:0.2em;
background:tomato;
bottom:0;
left:100%;
}
接下來設置鼠標懸停效果。
當鼠標懸停時,左側的方塊移到文字所在位置:
ulli::before{
transition:0.4sease-out;
}
ulli:hover::before{
left:100%;
}
右側的下劃線移到文字所在位置,它的動畫時間延遲到方塊的動畫快結束時再開始:
ulli::after{
transition:0.3s0.3sease-out;
}
ulli:hover::after{
left:0%;
}
同時,提高文字的亮度:
ulli{
transition:0.3s;
cursor:pointer;
}
ulli:hover{
color:#fff;
}
隱藏掉按鈕外的部分,使方塊和下劃線在默認狀態下都不可見,只有鼠標懸停時它們才從兩側入場:
ulli{
overflow:hidden;
}
最后,在dom中再增加幾個按鈕:
<ul>
<li>home</li>
<li>products</li>
<li>services</li>
<li>contact</li>
</ul>
布局多個按鈕:
ul{
display:flex;
flex-direction:column;
align-items:center;
}
ulli{
margin:0.5em;
}
以上是“怎么使用純CSS代碼實現從按鈕兩側滑入元素的懸停效果”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。