中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

css3+偽元素如何實現鼠標移入時下劃線向兩邊展開的效果

發布時間:2021-06-29 09:37:06 來源:億速云 閱讀:155 作者:小新 欄目:web開發

這篇文章主要介紹了css3+偽元素如何實現鼠標移入時下劃線向兩邊展開的效果,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

先來看看效果圖:

css3+偽元素如何實現鼠標移入時下劃線向兩邊展開的效果css3+偽元素如何實現鼠標移入時下劃線向兩邊展開的效果css3+偽元素如何實現鼠標移入時下劃線向兩邊展開的效果

實現思路:

將偽元素:before和:after定位到元素底部中間,設置寬度從0變成100%達到目的。

實現方法:

1、首先定義一個塊狀元素(行內元素沒有寬高)并修改樣式為一個背景色為淺灰色的矩形,設置相對定位。

html代碼

<div id="underline"></div>

css樣式

#underline{

    width: 200px;

    height: 50px;

    background: #ddd;

    margin: 20px;

    position: relative;

}

2、設置:before和:after兩個偽元素,將其設置為背景色為藍色(也就是下劃線的顏色),利用絕對定位將兩個元素固定到#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、設置鼠標移入效果。

css樣式

#underline:hover:before{/*動畫效果是從中間向左延伸至50%的寬度*/

    left:0%; 

    width:50%;

}

#underline:hover:after{/*動畫效果是從中間向右延伸至50%的寬度*/

    left: 50%; /*這句多余,主要是為了對照*/

    width: 50%;

}

優化

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%就可以實現,從而達到了精簡代碼的目的,而且還多余出了: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>

感謝你能夠認真閱讀完這篇文章,希望小編分享的“css3+偽元素如何實現鼠標移入時下劃線向兩邊展開的效果”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

锡林郭勒盟| 邛崃市| 邢台县| 淮滨县| 巴南区| 永兴县| 霍林郭勒市| 尉犁县| 西林县| 密云县| 兴安县| 边坝县| 泰宁县| 临城县| 商河县| 大方县| 肇东市| 分宜县| 武城县| 柘荣县| 芜湖市| 微山县| 乌拉特中旗| 阜阳市| 文登市| 鸡东县| 湟源县| 沐川县| 铜山县| 南宫市| 德庆县| 庄河市| 海口市| 广宗县| 红安县| 玛沁县| 赣州市| 个旧市| 通化市| 正安县| 沙湾县|