css3+偽元素實現(xiàn)鼠標移入時下劃線向兩邊展開的效果
先來看看效果圖:



實現(xiàn)思路:
將偽元素:before和:after定位到元素底部中間,設(shè)置寬度從0變成100%達到目的。
實現(xiàn)方法:
1、首先定義一個塊狀元素(行內(nèi)元素沒有寬高)并修改樣式為一個背景色為淺灰色的矩形,設(shè)置相對定位。
html代碼
<div id="underline"></div>
css樣式
#underline{
width: 200px;
height: 50px;
background: #ddd;
margin: 20px;
position: relative;
}
2、設(shè)置:before和:after兩個偽元素,將其設(shè)置為背景色為藍色(也就是下劃線的顏色),利用絕對定位將兩個元素固定到#underline底部中間位置。
css樣式
#underline:before,
#underline:after{
content: "";/*單引號雙引號都可以,但必須是英文*/
width: 0;
height: 3px; /*下劃線高度*/
background: blue; /*下劃線顏色*/
position: absolute;
top: 100%;
left: 50%;
transition: all .8s ; /*css動畫效果,0.8秒完成*/
}
3、設(shè)置鼠標移入效果。
css樣式
#underline:hover:before{/*動畫效果是從中間向左延伸至50%的寬度*/
left:0%;
width:50%;
}
#underline:hover:after{/*動畫效果是從中間向右延伸至50%的寬度*/
left: 50%; /*這句多余,主要是為了對照*/
width: 50%;
}
優(yōu)化
1、雖然目的達到了,但是用了兩個偽元素,一個向左延伸50%,一個向右延伸50%,只用一個延伸至100%能否達到目的呢?
css代碼
#underline:after{
content: "";
width: 0;
height: 5px;
background: blue;
position: absolute;
top: 100%;
left: 50%;
transition: all .8s;
}
#underline:hover:after{/*原理是left:50%變成0%的同時,寬度從0%變成100%*/
left: 0%;
width: 100%;
}
2、只定義:after偽元素,將其從距離左邊50%寬度為0的同時改變成距離左邊0%寬度為100%就可以實現(xiàn),從而達到了精簡代碼的目的,而且還多余出了:before方便進行別的操作。
完整代碼
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>鼠標移入下劃線展開</title>
<style type="text/css">
#underline{
width: 200px;
height: 50px;
background: #ddd;
margin: 20px;
position: relative;
}
#underline:after{
content: "";
width: 0;
height: 5px;
background: blue;
position: absolute;
top: 100%;
left: 50%;
transition: all .8s;
}
#underline:hover:after{
left: 0%;
width: 100%;
}
</style>
</head>
<body>
<div id="underline"></div>
</body>
</html>
總結(jié)
關(guān)于才疏學淺,以后遇到了再補充。好了以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關(guān)文章

淺談CSS3鼠標移入圖片動態(tài)提示效果(transform)
本篇文章主要介紹了淺談CSS3鼠標移入圖片動態(tài)提示效果(transform),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-06- 本節(jié)主要介紹了用純css寫的評分鼠標移入的效果,有圖片,感興趣的朋友可以參考下2014-07-31
- 純CSS實現(xiàn)圖片點擊放大帶關(guān)閉按鈕的圖片特效是一款通過簡單的CSS代碼,實現(xiàn)圖片點擊放大效果的源碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-28
CSS實現(xiàn)鼠標移入時圖片的放大效果及緩慢過渡效果的示例代碼
這篇文章主要介紹了CSS實現(xiàn)鼠標移入時圖片的放大效果及緩慢過渡效果的示例代碼,代碼簡單易懂,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-07-10


