欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

css3+偽元素實(shí)現(xiàn)鼠標(biāo)移入時(shí)下劃線向兩邊展開(kāi)的效果

  發(fā)布時(shí)間:2017-04-25 17:01:42   作者:楊俊飛   我要評(píng)論
這篇文章主要介紹了利用css3+偽元素實(shí)現(xiàn)鼠標(biāo)移入時(shí)下劃線向兩邊展開(kāi)效果的相關(guān)資料,文中先進(jìn)行了詳細(xì)的介紹,方便大家理解,而后給出了完整的實(shí)例代碼讓大家可以參考學(xué)習(xí),需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。

先來(lái)看看效果圖:

實(shí)現(xiàn)思路:

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

實(shí)現(xiàn)方法:

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

html代碼

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

css樣式

#underline{

    width: 200px;

    height: 50px;

    background: #ddd;

    margin: 20px;

    position: relative;

} 

2、設(shè)置:before和:after兩個(gè)偽元素,將其設(shè)置為背景色為藍(lán)色(也就是下劃線的顏色),利用絕對(duì)定位將兩個(gè)元素固定到#underline底部中間位置。

css樣式

#underline:before,

#underline:after{

    content: "";/*單引號(hào)雙引號(hào)都可以,但必須是英文*/

    width: 0;

    height: 3px; /*下劃線高度*/

    background: blue; /*下劃線顏色*/

    position: absolute;

    top: 100%;

    left: 50%;

    transition: all .8s ; /*css動(dòng)畫(huà)效果,0.8秒完成*/

} 

3、設(shè)置鼠標(biāo)移入效果。

css樣式

#underline:hover:before{/*動(dòng)畫(huà)效果是從中間向左延伸至50%的寬度*/

    left:0%; 

    width:50%;

}

#underline:hover:after{/*動(dòng)畫(huà)效果是從中間向右延伸至50%的寬度*/

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

    width: 50%;

} 

優(yōu)化

1、雖然目的達(dá)到了,但是用了兩個(gè)偽元素,一個(gè)向左延伸50%,一個(gè)向右延伸50%,只用一個(gè)延伸至100%能否達(dá)到目的呢?
 

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%的同時(shí),寬度從0%變成100%*/

    left: 0%;

    width: 100%;

} 

2、只定義:after偽元素,將其從距離左邊50%寬度為0的同時(shí)改變成距離左邊0%寬度為100%就可以實(shí)現(xiàn),從而達(dá)到了精簡(jiǎn)代碼的目的,而且還多余出了:before方便進(jìn)行別的操作。

完整代碼

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>鼠標(biāo)移入下劃線展開(kāi)</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)于才疏學(xué)淺,以后遇到了再補(bǔ)充。好了以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

相關(guān)文章

最新評(píng)論