啊,小雪,小雪,来了,来了。从微微的凉风中,从傍晚的喧闹中来了!像春风抖落万树梨花,像天女撒下漫天白絮……你不飘飘悠悠,因为那是骄傲的象征;你不轻轻起舞,因为那是胆小的缩影,听,沙沙沙沙、沙沙沙沙……我好像坐在屋里听那春雨的歌声。
我们在做导航标签的时候,有时会出现空间过于拥挤需要隐藏部分内容的情况,所以在这里我自己写了一个鼠标悬停显示扩展内容的效果,如下图所示。
总的来说效果还是比较好实现,但是比较头疼的是三角部分使用了伪元素::after,而对父元素设置 over-flow:hidden 时也会把伪元素给隐藏掉。最后想的办法是把文字和图标用一个 <span> 包裹住然后对其设置over-flow属性。
HTML代码:
CSS Code复制内容到剪贴板
- <divid="nav">
- <aid="nav-main"><span><iclass="icon-home"></i>主界面</span></a>
- <aid="nav-sum"><span><iclass="icon-laptop"></i>统计界面</span></a>
- </div>
- CSS代码:
- /*******************************************************************************/
- /***********************************nav**************************************/
- /*******************************************************************************/
- #nav{
- box-sizing:border-box;
- width:200px;
- height:100%;
- position:fixed;
- padding-top:80px;
- }
- #nava{
- display:block;
- width:30px;
- height:52px;
- position:relative;
- margin-top:50px;
- }
- #navaspan{
- 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;
- }
- #navaspani{
- font-size:1.3em;
- }
- #nava::after{
- content:'';
- display:block;
- width:0;
- height:0;
- position:absolute;
- rightright:-32px;
- bottombottom:0;
- border-top:26pxsolidtransparent;
- border-right:16pxsolidtransparent;
- border-bottom:26pxsolidtransparent;
- }
- #nav-main{
- background-color:rgb(211,83,80);
- }
- #nav-sum{
- background-color:rgb(0,158,163);
- }
- #nav-main::after{
- border-left:16pxsolidrgb(211,83,80);
- }
- #nav-sum::after{
- border-left:16pxsolidrgb(0,158,163);
- }
- #nava:hover{
- -webkit-animation:extend-a0.5s;
- -moz-animation:extend-a0.5s;
- animation:extend-a0.5s;
- width:100px;
- }
- #navaspan:hover{
- -webkit-animation:extend-span0.5s;
- -moz-animation:extend-span0.5s;
- animation:extend-span0.5s;
- width:116px;
- }
- /*******************a扩展效果******************/
- @-webkit-keyframesextend-a{
- 0%{
- width:30px;
- }
- 100%{
- width:100px;
- }
- }
- @-moz-keyframesextend-a{
- 0%{
- width:30px;
- }
- 100%{
- width:100px;
- }
- }
- @keyframesextend-a{
- 0%{
- width:30px;
- }
- 100%{
- width:100px;
- }
- }
- /*******************span扩展效果******************/
- @-webkit-keyframesextend-span{
- 0%{
- width:46px;
- }
- 100%{
- width:116px;
- }
- }
- @-moz-keyframesextend-span{
- 0%{
- width:46px;
- }
- 100%{
- width:116px;
- }
- }
- @keyframesextend-span{
- 0%{
- width:46px;
- }
- 100%{
- width:116px;
- }
- }
其中图标使用的是 font-awesome 提供的API,使用时引入它的css文件即可。
以上所述是小编给大家介绍的CSS3实现鼠标悬停显示扩展内容 ,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
本文CSS3如何实现鼠标悬停显示扩展内容到此结束。人,一简单就欢乐,但欢乐的人寥寥无几;一复杂就痛苦,可痛苦的人却熙熙攘攘。小编再次感谢大家对我们的支持!