溫馨提示×

溫馨提示×

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

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

CSS3如何實(shí)現(xiàn)鼠標(biāo)懸停顯示擴(kuò)展內(nèi)容

發(fā)布時間:2021-06-29 14:05:54 來源:億速云 閱讀:144 作者:小新 欄目:web開發(fā)

這篇文章給大家分享的是有關(guān)CSS3如何實(shí)現(xiàn)鼠標(biāo)懸停顯示擴(kuò)展內(nèi)容 的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

我們在做導(dǎo)航標(biāo)簽的時候,有時會出現(xiàn)空間過于擁擠需要隱藏部分內(nèi)容的情況,所以在這里我自己寫了一個鼠標(biāo)懸停顯示擴(kuò)展內(nèi)容的效果,如下圖所示。
 

CSS3如何實(shí)現(xiàn)鼠標(biāo)懸停顯示擴(kuò)展內(nèi)容


總的來說效果還是比較好實(shí)現(xiàn),但是比較頭疼的是三角部分使用了偽元素::after,而對父元素設(shè)置 over-flow:hidden 時也會把偽元素給隱藏掉。最后想的辦法是把文字和圖標(biāo)用一個 <span> 包裹住然后對其設(shè)置over-flow屬性。

HTML代碼:

    <div id="nav">   
       <a id="nav-main"><span><i class="icon-home"></i> 主界面</span></a>   
         <a id="nav-sum"><span><i class="icon-laptop"></i> 統(tǒng)計界面</span></a>   
   </div>

CSS代碼:

/*******************************************************************************/  
/*********************************** nav **************************************/  
/*******************************************************************************/  
#nav{   
    box-sizing:border-box;   
    width:200px;   
    height:100%;   
    position:fixed;   
    padding-top:80px;   
}   
#nav a{   
    display:block;   
    width:30px;   
    height:52px;   
    position:relative;   
    margin-top:50px;   
}   
#nav a span{   
    display:inline-block;   
    width:46px;   
    height:50px;   
    font-size:1em;   
    font-weight:600;   
    color:rgba(255,255,255,0.9);   
    text-indent:3px;   
    line-height:52px;   
    cursor:pointer;   
    overflow:hidden;   
}   
#nav a span i{   
    font-size:1.3em;   
}   
#nav a::after{   
    content:'';   
    display:block;   
    width:0;   
    height:0;   
    position:absolute;   
    rightright:-32px;   
    bottombottom:0;   
    border-top:26px solid transparent;   
    border-right:16px solid transparent;   
    border-bottom:26px solid transparent;   
}   
#nav-main{   
    background-color:rgb(211,83,80);   
}   
#nav-sum{   
    background-color:rgb(0,158,163);   
}   
#nav-main::after{   
    border-left:16px solid rgb(211,83,80);   
}   
#nav-sum::after{   
    border-left:16px solid rgb(0,158,163);   
}   
#nav a:hover{   
    -webkit-animation:extend-a 0.5s;   
    -moz-animation:extend-a 0.5s;   
    animation:extend-a 0.5s;   
    width:100px;   
}   
#nav a span:hover{   
    -webkit-animation:extend-span 0.5s;   
    -moz-animation:extend-span 0.5s;   
    animation:extend-span 0.5s;   
    width:116px;   
}   
/******************* a擴(kuò)展效果 ******************/  
@-webkit-keyframes extend-a{   
    0% {   
        width:30px;   
    }   
    100% {   
        width:100px;   
    }   
}   
@-moz-keyframes extend-a{   
    0% {   
        width:30px;   
    }   
    100% {   
        width:100px;   
    }   
}   
@keyframes extend-a{   
    0% {   
        width:30px;   
    }   
    100% {   
        width:100px;   
    }   
}   
/******************* span擴(kuò)展效果 ******************/  
@-webkit-keyframes extend-span{   
    0% {   
        width:46px;   
    }   
    100% {   
        width:116px;   
    }   
}   
@-moz-keyframes extend-span{   
    0% {   
        width:46px;   
    }   
    100% {   
        width:116px;   
    }   
}   
@keyframes extend-span{   
    0% {   
        width:46px;   
    }   
    100% {   
        width:116px;   
    }   
}

其中圖標(biāo)使用的是 font-awesome 提供的API,使用時引入它的css文件即可。

感謝各位的閱讀!關(guān)于“CSS3如何實(shí)現(xiàn)鼠標(biāo)懸停顯示擴(kuò)展內(nèi)容 ”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI