这篇文章给大家分享的是有关CSS3如何实现鼠标悬停显示扩展内容 的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
我们在做导航标签的时候,有时会出现空间过于拥挤需要隐藏部分内容的情况,所以在这里我自己写了一个鼠标悬停显示扩展内容的效果,如下图所示。
总的来说效果还是比较好实现,但是比较头疼的是三角部分使用了伪元素::after,而对父元素设置 over-flow:hidden 时也会把伪元素给隐藏掉。最后想的办法是把文字和图标用一个 <span> 包裹住然后对其设置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> 统计界面</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扩展效果 ******************/ @-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扩展效果 ******************/ @-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如何实现鼠标悬停显示扩展内容 ”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。