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:;
- 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:;
- height:;
- position:absolute;
- right:-32px;
- bottom:;
- 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实现鼠标悬停扩展效果的更多相关文章
- CSS3按钮鼠标悬浮光圈效果
1 .HTML相关知识点 HTML(超文本标记语言)是网页的核心.首先你要学会,不要害怕,HTML很容易学习的,刚开始多记多练,但是到最后还是要自己深入专研,简单的入门是很快,但学好HTML是成为W ...
- 简单jquery 鼠标悬停提示效果
记得自己引入jq插件哦~~~ <!DOCTYPE html> <html lang="en"> <head> <meta charset= ...
- 利用CSS3实现鼠标悬停在图片上图片缓慢缩放的两种方法
1.改变background-size属性 将图片作为某个html元素的背景图片,用transition属性改变图片的大小. .container{ background-size: 100% 100 ...
- Css3 常见鼠标滑过效果集合
1.演示地址: http://yaochuxia.github.io/hover/#
- [刘阳Java]_CSS鼠标悬停
小白在学习前端技术时候,一定会在刚开始的时候学习CSS2和CSS3的相关知识.这篇内容给大家介绍一个CSS鼠标悬停的效果.大家可以先看下面的效果图,然后我们在说一下实现的效果要求吧 上图效果非常简单和 ...
- 兄弟连教育分享:用CSS实现鼠标悬停提示的方法
兄弟连教育分享:用CSS实现鼠标悬停提示的方法 本文,兄弟连HTML5培训,分享了纯CSS实现鼠标悬停提示的方法.给大家供大家参考.具体分析如下: 这是一款比较漂亮的鼠标悬停提示效果,用纯CSS代码实 ...
- 鼠标悬停css3动画效果
下载Demo 效果预览 html: <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
- css3鼠标悬停图片渐显飞入效果
body程序: <div id="bei"> <div id="img"><img src="xianzi.png&qu ...
- CSS3鼠标悬停图片上浮显示描述代码
效果:http://hovertree.com/texiao/css3/20/ 效果图: 代码如下: <!doctype html> <html lang="zh" ...
随机推荐
- Regex 常用的正则表达式
.校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非 ...
- Ubuntu 14.04.3 LTS如何安装谷歌输入法
谷歌输入法项目主页:https://code.google.com/p/scim-googlepinyin/ 一,打开Ubuntu 的“Ubunru的软件中心”,在搜索里面输入“googlepinyi ...
- 返回类型和 return 语句
return 语句终止当前正在执行的函数并将控制权返回到调用该函数的地方.return 语句有两种形式: return; return expression; 不要返回局部对象的引用或指针: 函数完成 ...
- 【Spring Boot-技巧】API返回值去除为NULL的字段
简介 在前后端分离的微服务时代,后端API需要良好的规范.本篇主要将一个数据返回时的一个小技巧-- 过滤为空字段 解决痛点:将有效解决数据传输过程中的流量浪费. 组件简介 Jackson Object ...
- controller运行springboot项目
搭建完springboot项目后,新建HelloController.java文件,编写main方法,启动HelloController.java,具体代码如图: 在浏览器访问127.0.0.1:80 ...
- SpringBoot设置默认启动页的2种方式
方式一: 继承WebMvcConfigurerAdapter,重写addViewControllers. @Configurationpublic class WebConfigurer extend ...
- Python闭包需要注意的问题
定义 python中的闭包从表现形式上定义为:如果在一个内部函数里,对在外部作用域(但不是在全局作用域)的变量进行引用,那么内部函数就被认为是闭包(closure),也就是说内层函数引用了外层函数 ...
- spring配置文件中导入约束的详细步骤
这里先以<beans>元素为例: 首先在eclipse中引入相关约束: 点击OK后,这个约束就被引入到eclipse中了,这一步的意义在于:就算你处于脱机情况下(不能联网),也能给你提示. ...
- Android RecyclerView组件和 Spinner(下拉列表框)
1.RecyclerView <1>知识点介绍 RecyclerView 比 ListView 更高级且更具灵活性. 它是一个用于显示庞大数据集的容器,可通过保持有限数量的视图进行非常有效 ...
- POJ 2182 Lost Cows (求序列第k大)
题解 二分+树状数组 显然最和一个数的值就是rank 那么其它数有什么规律? 从后往前匹配rank,我们可以发现第i个数的rank为还没有匹配的rank第(a[i]+1)大的数 这可以用 树状数组+二 ...