原文:CSS3实现Tooltip提示框飞入飞出动画

我们见过很多利用背景图片制作的Tooltip提示框,但是缺点是扩展比较麻烦,要经常改动图片。还有就是利用多层CSS的叠加实现,但是效果比较生硬,外观不怎么好看。今天我来分享一下利用CSS3快速实现既美观又实用的Tooltip提示框,提示框伴有飞入飞出的动画效果。先来看看效果图。

看上去还简单吧,其实实现的思路的确很简单。

具体效果我们可以在这里查看在线演示

接下来我们来简单分析一下这个Tooltip实现的CSS3代码。

首先是HTML代码,主要是构造了3个小图标菜单以及对应的Tooltip提示框内容:

<div id="container">
<div class="item"> <h1>D</h1>
<div class="tooltip">
<p>Find important documents and manuals.</p>
<div class="arrow"></div>
</div>
</div>
</div> <div class="item">
<h1>A</h1> <div class="tooltip">
<p>Take a look at our crew and become a friend.</p>
<div class="arrow"></div>
</div>
</div>
</div> <div class="item">
<h1>C</h1>
<div class="tooltip">
<p>Explore our process and see how we can help.</p>
<div class="arrow"></div>
</div>
</div>

接下来是CSS代码,首先我们定义了一个图标集,让每个小按钮都能显示各自的图标:

@font-face {
font-family:'HeydingsCommonIconsRegular';
src: url('http://ianfarb.com/random/heydings_icons-webfont.eot');
src: url('http://ianfarb.com/random/heydings_icons-webfont.eot?#iefix') format('embedded-opentype'),
url('http://ianfarb.com/random/heydings_icons-webfont.woff') format('woff'),
url('http://ianfarb.com/random/heydings_icons-webfont.ttf') format('truetype'),
url('http://ianfarb.com/random/heydings_icons-webfont.svg#HeydingsCommonIconsRegular') format('svg');
font-weight: normal;
font-style: normal; }
h1    {font-family:'HeydingsCommonIconsRegular', sans-serif;
font-weight:normal;
margin:30px 0 0 0;
color:#fff;
text-align:center;
font-size:60px;
line-height:30px;}

然后重点是实现Tooltip提示框:

.tooltip { width:120px;
padding:10px;
border-radius:3px;
position:absolute;
box-shadow:1px 1px 10px 0 #ccc;
margin: -500px 0 0 -20px;
background:#fff;
-webkit-transition:margin .5s ease-in-out;
-moz-transition:margin .5s ease-in-out;} .item:hover { background:#6d643b;} .item:hover .tooltip {
margin:-145px 0 0 -20px;
-webkit-transition: margin .15s ease-in-out;
-moz-transition: margin .15s ease-in-out;} .arrow {
position:absolute;
margin:10px 0 0 50px;
width:;
height:;
border-left: 10px solid transparent;
border-right: 10px solid transparent;
border-top: 10px solid #fff;
}

这里我们对Tooltip区域进行了圆角和阴影的效果渲染,让其在鼠标滑过是飞入,鼠标移出是飞出,看得出来,实现这样的效果主要还是利用了

-webkit-transition和-moz-transition

最后是一个向下的小箭头,用类.arrow来标识,上面的代码也实现了这个CSS的实现。

最后,提供一个源代码包给大家,下载地址>>

CSS3实现Tooltip提示框飞入飞出动画的更多相关文章

  1. 原生js实现tooltip提示框的效果

    在js的世界里面,每一个小的特效都那么微不足道,却又那么的令人向往与好奇.前端工程师的任务特别高大上,因为他们的一个小小的设计就会激发别人的求知欲.比如说我,只是随机一瞟,便看到了这个tooltip的 ...

  2. 纯CSS实现tooltip提示框,CSS箭头及形状之续篇--给整个tooltip提示框加个边框

    在前面一篇中我们介绍了纯CSS实现tooltip提示框,通俗的讲也就是CSS箭头及形状 不过注意一点是,他始终是一个元素,只是通过CSS实现的,今天我们要说的是给这个“tooltip提示框”整体加一个 ...

  3. HTMO DOM部分---小练习;列表之间移动、日期选择、好友选中、滑动效果、滚动条效果、飞入飞出效果。

    一:列表之间数据移动 第一个列表里面有内容,第二个里面没有 实现功能: 点击左侧列表选中一项内容,点击按钮,复制到右侧 点击复制所有按钮,将左侧列表所有数据,复制到右侧 扩展功能:右侧列表实现去重复 ...

  4. 使用css实现全兼容tooltip提示框

    在上一篇文章中,使用css实现了一个全兼容的三角形图标,这个三角型图标可以使用于多种场景,比如下拉图标.多级菜单等,这篇文章我们使用这个图标通过纯css来实现一个我们常见的tooltip提示框. 最终 ...

  5. Echarts数据可视化tooltip提示框,开发全解+完美注释

    全栈工程师开发手册 (作者:栾鹏) Echarts数据可视化开发代码注释全解 Echarts数据可视化开发参数配置全解 6大公共组件详解(点击进入): title详解. tooltip详解.toolb ...

  6. echarts中tooltip提示框位置控制

    关键代码: position: function(point, params, dom, rect, size) { //其中point为当前鼠标的位置,size中有两个属性:viewSize和con ...

  7. MFC中添加ToolTip提示框

    PART 1 MFC 对话框中的 Buttton添加提示 例如我们想在一个对话框中的一个button控件添加tooltip,实现的方法如下: 1. 在该对话框的类中添加一个CToolTipCtrl类型 ...

  8. tooltip提示框组件

    Tooltip 提示框组件 可独立于其他组件通过$.fn.tooltip.defaults重写默认的defaults.当用户移动鼠标指针在某个元素上时,出现提示信息窗口来显示额外信息.提示内容可以包含 ...

  9. 第一百九十六节,jQuery EasyUI,Tooltip(提示框)组件

    jQuery EasyUI,Tooltip(提示框)组件 学习要点: 1.加载方式 2.属性列表 3.事件列表 4.方法列表 本节课重点了解 EasyUI 中 Tooltip(提示框)组件的使用方法, ...

随机推荐

  1. chromium for android v34 2dcanvas硬件渲染实现分析

    这篇接着上一篇2dcanvas硬件绘制,分析保存绘制结果的texture被合成到on screen framebuffer上的过程. 1.webkit为canvas元素相应的render树节点Rend ...

  2. 瑞丽的SQL-SQL Server的表旋转(行列转换)

    所谓表旋转,就是将表的行转换为列,或是将表的列转换为行,这是从SQL Server 2005開始提供的新技术.因此,如果希望使用此功能,须要将数据库的兼容级别设置为90.表旋转在某些方面也是攻克了表的 ...

  3. 解决android3.0版本号以上应用接收不到开机广播问题

    如今是2014-07-16 下午15:27. 好久没写过东西,突然间灵感喷发想写点东西(事实上是刚刚弄好了一个棘手的问题,自豪中..呵呵呵呵 我牛掰).废话不多说,进入正题. 不知道你们又没有碰到这问 ...

  4. rsync 只是测试,请看下一篇

    实现从客户服务器去同步资源服务器 1.解压 # tar -xzpvf rsync-2.5.6.tar.gz   编译安装 # cd rsync-2.5.6/  # ./configure --pref ...

  5. 微渠道发展 BAE交通运输平台和java呼声,微信mysql数据库开发实例 --图文开发教程

    持续更新 BAE java开展mysql数据库 图文教程 BAE java语言发展mysql源码下载: 目前微信的发展.BAE开展.java开展.mysql教程开发非常,的介绍基于BAE平台.java ...

  6. org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/jiaoshi/daochuEx

    org.apache.jasper.JasperException: An exception occurred processing JSP page /admin/jiaoshi/daochuEx ...

  7. TextView于getCompoundDrawables()使用演示样本的方法

    MainActivity例如下列: package cc.testcompounddrawables; import android.app.Activity; import android.grap ...

  8. linux shell 不同进制数据转换(二进制,八进制,十六进制,base64) (转)

    shell可以在不调用第3方命令,表示不同进制数据.这里总结以下表示方法.shell 脚本默认数值是由10 进制数处理,除非这个数字某种特殊的标记法或前缀开头. 才可以表示其它进制类型数值.如:以 0 ...

  9. UVA 847 - A Multiplication Game(游戏)

    UVA 847 - A Multiplication Game 题目链接 题意:一个数一開始是1,每次轮流乘2-9,谁先大于n谁就赢,问谁胜 思路:博弈,找出必胜态.2-9为stan,10-18为ol ...

  10. ThreadPoolExecutor的一点理解

    整个ThreadPoolExecutor的任务处理有4步操作: 第一步,初始的poolSize < corePoolSize,提交的runnable任务,会直接做为new一个Thread的参数, ...