CSS3实现鼠标悬停扩展效果

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

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

HTML代码:

1     <div id="nav">
2         <a id="nav-main"><span><i class="icon-home"></i> 主界面</span></a>
3         <a id="nav-sum"><span><i class="icon-laptop"></i> 统计界面</span></a>
4     </div>

CSS代码:

  1 /*******************************************************************************/
  2 /*********************************** nav **************************************/
  3 /*******************************************************************************/
  4 #nav{
  5     box-sizing:border-box;
  6     width:200px;
  7     height:100%;
  8     position:fixed;
  9     padding-top:80px;
 10 }
 11 #nav a{
 12     display:block;
 13     width:30px;
 14     height:52px;
 15     position:relative;
 16     margin-top:50px;
 17 }
 18 #nav a span{
 19     display:inline-block;
 20     width:46px;
 21     height:50px;
 22     font-size:1em;
 23     font-weight:600;
 24     color:rgba(255,255,255,0.9);
 25     text-indent:3px;
 26     line-height:52px;
 27     cursor:pointer;
 28     overflow:hidden;
 29 }
 30 #nav a span i{
 31     font-size:1.3em;
 32 }
 33 #nav a::after{
 34     content:‘‘;
 35     display:block;
 36     width:0;
 37     height:0;
 38     position:absolute;
 39     right:-32px;
 40     bottom:0;
 41     border-top:26px solid transparent;
 42     border-right:16px solid transparent;
 43     border-bottom:26px solid transparent;
 44 }
 45 #nav-main{
 46     background-color:rgb(211,83,80);
 47 }
 48 #nav-sum{
 49     background-color:rgb(0,158,163);
 50 }
 51 #nav-main::after{
 52     border-left:16px solid rgb(211,83,80);
 53 }
 54 #nav-sum::after{
 55     border-left:16px solid rgb(0,158,163);
 56 }
 57 #nav a:hover{
 58     -webkit-animation:extend-a 0.5s;
 59     -moz-animation:extend-a 0.5s;
 60     animation:extend-a 0.5s;
 61     width:100px;
 62 }
 63 #nav a span:hover{
 64     -webkit-animation:extend-span 0.5s;
 65     -moz-animation:extend-span 0.5s;
 66     animation:extend-span 0.5s;
 67     width:116px;
 68 }
 69
 70 /******************* a扩展效果 ******************/
 71 @-webkit-keyframes extend-a{
 72     0% {
 73         width:30px;
 74     }
 75     100% {
 76         width:100px;
 77     }
 78 }
 79 @-moz-keyframes extend-a{
 80     0% {
 81         width:30px;
 82     }
 83     100% {
 84         width:100px;
 85     }
 86 }
 87 @keyframes extend-a{
 88     0% {
 89         width:30px;
 90     }
 91     100% {
 92         width:100px;
 93     }
 94 }
 95
 96 /******************* span扩展效果 ******************/
 97 @-webkit-keyframes extend-span{
 98     0% {
 99         width:46px;
100     }
101     100% {
102         width:116px;
103     }
104 }
105 @-moz-keyframes extend-span{
106     0% {
107         width:46px;
108     }
109     100% {
110         width:116px;
111     }
112 }
113 @keyframes extend-span{
114     0% {
115         width:46px;
116     }
117     100% {
118         width:116px;
119     }
120 }

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

时间: 2024-10-11 11:36:03

CSS3实现鼠标悬停扩展效果的相关文章

CSS3按钮鼠标悬浮光圈效果

1 .HTML相关知识点  HTML(超文本标记语言)是网页的核心.首先你要学会,不要害怕,HTML很容易学习的,刚开始多记多练,但是到最后还是要自己深入专研,简单的入门是很快,但学好HTML是成为Web开发人员的基本条件. 学习资源: HTML Dog (http://htmldog.com/) HTML入门指南 (http://www.w3.org/MarkUp/Guide/) W3C HTML学习教程 (http://www.w3schools.com/html/) 2.CSS3相关知识点

利用CSS3实现鼠标悬停在图片上图片缓慢缩放的两种方法

1.改变background-size属性 将图片作为某个html元素的背景图片,用transition属性改变图片的大小. 1 .container{ 2 background-size: 100% 100%; 3 transition: all 2s; 4 } 5 .container:hover{ 6 background-size: 120% 120%; 7 } 这种方法有个问题是图片缩放的时候会出现抖动的现象 2.利用scale 使用img标签,并在img标签上添加transform属

常用的css3鼠标悬停按钮动画特效

css3 按钮制作A标签属性hover css3带冒泡动画按钮 css3动画transform属性鼠标悬停图文列表动画效果 div CSS3动画带有的按钮_css3样式表属性动画按钮 创意CSS3属性鼠标悬停动画菜单 css3按钮动画特效大全鼠标滑过按钮动画特效 div css3 transition属性制作鼠标悬停图标导航菜单动画展示 21种css3 transition属性鼠标悬停导航条动画效果 纯div css3鼠标触碰图标背景渐变动画效果代码 css3动画鼠标滑过栏目图片滑动切换效果 c

[刘阳Java]_CSS鼠标悬停

小白在学习前端技术时候,一定会在刚开始的时候学习CSS2和CSS3的相关知识.这篇内容给大家介绍一个CSS鼠标悬停的效果.大家可以先看下面的效果图,然后我们在说一下实现的效果要求吧 上图效果非常简单和清晰,就是鼠标放上去能够将图片进行缩率图的放小效果.实现要求 CSS的伪类hover的应用,通过伪类完成CSS样式的变化 CSS3中的transform:scale(...)的应用,完成缩放比例的设置 CSS3中的过渡transition:all 200ms ease-in样式的的应用,因为缩放效果

兄弟连教育分享:用CSS实现鼠标悬停提示的方法

本文,兄弟连HTML5培训 ,分享了纯CSS实现鼠标悬停提示的方法.给大家供大家参考.具体分析如下: 这是一款比较漂亮的鼠标悬停提示效果,用纯CSS代码实现,鼠标放到图片上会显示一个层,也就是悬停时的提示,在这个提示框内你还可以加入图片或是一个列表,这就靠你的发挥了,提示框的背景颜色和文字颜色你都可以自己调. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTDXHTML 1.0 Transitional//EN""http://www.w3

鼠标悬停css3动画效果

下载Demo 效果预览 html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>鼠标悬停css3动画效果</title> <link href="css/lanrenzhijia.css" rel="stylesheet" type="text/

鼠标悬停图片移动的效果

当前很多购物网站,像京东,蘑菇街这些都有对展示的图片做这种鼠标悬停图片上移,下移,左移或者右移效果, 实现代码很简单,就用css3的transform便可实现. 下列代码实现的是鼠标悬停,div向上移动30px,鼠标拿开div恢复原始位置. css: <style> div{ margin-top: 100px; width: 100px; height: 100px; background: pink; transition:All 0.4s ease-in-out;//让移动效果变得平滑自

HTML+CSS鼠标悬停效果

HTML+CSS实现鼠标悬停效果 HTML: <link href="style.css" rel="stylesheet"> <a class="social" href="https://webbb.be" target="_blank"> <div class="front"> <i class="fa fa-facebook&q

7种鼠标悬停效果,多样的图片说明展示

今天我们要为您展示如何创建一些简单又不失时尚的图片说明悬停效果.我们的想法应用悬停效果来显示图片对应的标题,作者和链接按钮.对于一些的效果,我们将使用3D变换.这样做的目的是保持奇妙的效果,并为许多不同的变化提供了灵感. 在线演示      下载源码 您可能感兴趣的相关文章 网站开发中很有用的 jQuery 效果[附源码] 分享35个让人惊讶的 CSS3 动画效果演示 十分惊艳的8个 HTML5 & JavaScript 特效 Web 开发中很实用的10个效果[源码下载] 12款经典的白富美型