好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

CSS3实现鼠标悬停显示扩展内容

我们在做导航标签的时候,有时会出现空间过于拥挤需要隐藏部分内容的情况,所以在这里我自己写了一个鼠标悬停显示扩展内容的效果,如下图所示。
&nbs p;


总的来说效果还是比较好实现,但是比较头疼的是三角部分使用了伪元素: :after ,而对父元素设置 over-flow:hidden 时也会把伪元素给隐藏掉。最后想的办法是把文字和图标用一个 <span> 包裹住然后对其设置over-flow属性。

HT ML 代码:

CSS Code 复制内容到剪贴板

    <div id= "nav" >           <a id= "nav-m ai n" ><span><i class= "icon-home" ></i> 主界面</span></a>             <a id= "nav -s um" ><span><i class= "icon-laptop" ></i> 统计界面</span></a>       </div>        CSS代码:       /*******************************************************************************/    /*********************************** nav **************************************/    /*******************************************************************************/    # nav {        box-sizing: border -box;         width : 200px ;         h ei ght :100%;         pos IT ion : fixed ;         padding -t op : 80px ;    }    #nav  a{         dis play : block ;         width : 30px ;         height : 52px ;         position : relative ;         m arg in-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 -i ndent : 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 ;         right right :- 32px ;         bottom bottom :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扩展效果 ******************/    @-webkit-keyfr am es 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扩展效果 ******************/    @-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 ;        }    }  

其中图标使用的是 font-awesome 提供的API,使用时引入它的css文件即可。

以上所述是小编给大家介绍的CSS3实现鼠标悬停显示扩展内容 , 希望对大家有所帮助 ,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

总结

以上是 为你收集整理的 CSS3实现鼠标悬停显示扩展内容 全部内容,希望文章能够帮你解决 CSS3实现鼠标悬停显示扩展内容 所遇到的问题。

如果觉得 网站内容还不错, 推荐好友。

查看更多关于CSS3实现鼠标悬停显示扩展内容的详细内容...

  阅读:23次