当前位置: 首页 > news >正文

CSS 提示工具(Tooltip)

CSS 提示工具(Tooltip)

本文为大家介绍如何使用HTML和CSS来实现提示工具,

提示工具在鼠标移动到制定元素后触发,先看下面示例:

图片描述

图片描述

1.基础提示工具代码如下:

<!doctye html>

<html>
<head>
    <meta charset="utf-8"/>
    <title>右提示工具</title>
    <style>
    *{
    margin:0;
    padding:0;
}
body{
    text-align:center;
    padding-top:50px;
}
.tooltip{
    display:inline-block;
    position:relative;
}
.btn{
    display:block;
    padding:20px;
    background:#f0f;
    color:white;
}
.bottom{
    position:relative;
    background:#aaa;
    width:160px;
    position:absolute;
    left:110%;
    top:10%;
    text-align:left;
    padding:12px;    
    opacity:0;
    transition:1s;
    color:white;    
    border-radius:10px;    
}
.tooltip:hover .bottom{    
    opacity:1;
}
.bottom:after{
    content:"";
    border:5px solid;
    border-color:transparent #aaa transparent  transparent ;
    position:absolute;    
    left:-10px;
    margin-top:5px;
}
    </style>
</head>
<body>
    <div class="tooltip"> 
        <span class="btn">右提示工具</span>    
        <div class="bottom">
            提示工具
        </div>    
    </div>
</body>
</html>

运行结果如下图:

图片描述

2.添加箭头

我们可以用CSS 伪元素 ::after 及 content 属性为提示工具创建一个小箭头标志,箭头是由边框组成的

.tooltip .tooltiptext {
    width: 120px;
    top: 100%;
    left: 50%; 
    margin-left: -60px; /* 使用一半宽度 (120/2 = 60) 来居中提示工具 */
}

3.技术要点:

  • 父元素相对定位
  • 提示框绝对定位
  • 箭头绝对定位
  • 淡入效果(我们可以使用 CSS3 transition 属性及 opacity 属性来实现提示工具的淡入效果)

持续更新,欢迎大家指教!

相关文章:

  • 开放平台下从事开发工作的苦水
  • BigDecimal的用法详解(保留两位小数,四舍五入,数字格式化,科学计数法转数字,数字里的逗号处理)...
  • 分发系统介绍、 expect脚本远程登录、远程执行命令、传递参数
  • 欧几里得扩展算法扩展欧几里得
  • Spring Boot 2.0 整合 ES 5 文章内容搜索实战
  • HyperLedger Fabric ca正式环境部署
  • mysql-ubuntu14.04彻底卸载mysql
  • 检测对象或数组
  • Python--作业2--对员工信息文件,实现增删改查操作
  • BAT面试常的问题和最佳答案
  • MFS分布式文件系统服务搭建
  • redis系列:通过文章点赞排名案例学习sortedset命令
  • 自抗凝透析器研究取得系列进展
  • (转)visual stdio 书签功能介绍
  • 如何高效学习和工作(撸代码)
  • [译]前端离线指南(上)
  • Angular js 常用指令ng-if、ng-class、ng-option、ng-value、ng-click是如何使用的?
  • JS字符串转数字方法总结
  • maya建模与骨骼动画快速实现人工鱼
  • MobX
  • react 代码优化(一) ——事件处理
  • SOFAMosn配置模型
  • Spark RDD学习: aggregate函数
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • VuePress 静态网站生成
  • Web设计流程优化:网页效果图设计新思路
  • 仿天猫超市收藏抛物线动画工具库
  • 规范化安全开发 KOA 手脚架
  • 好的网址,关于.net 4.0 ,vs 2010
  • 如何在 Tornado 中实现 Middleware
  • 数据库写操作弃用“SELECT ... FOR UPDATE”解决方案
  • 吴恩达Deep Learning课程练习题参考答案——R语言版
  • 小程序、APP Store 需要的 SSL 证书是个什么东西?
  • 移动端唤起键盘时取消position:fixed定位
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 应用生命周期终极 DevOps 工具包
  • 用Python写一份独特的元宵节祝福
  • 【干货分享】dos命令大全
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​马来语翻译中文去哪比较好?
  • ​用户画像从0到100的构建思路
  • #pragma once与条件编译
  • #我与Java虚拟机的故事#连载19:等我技术变强了,我会去看你的 ​
  • $refs 、$nextTic、动态组件、name的使用
  • (+4)2.2UML建模图
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (七)c52学习之旅-中断
  • (三)centos7案例实战—vmware虚拟机硬盘挂载与卸载
  • (算法)求1到1亿间的质数或素数
  • (淘宝无限适配)手机端rem布局详解(转载非原创)
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)80c52学习之旅-起始篇
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .NET WebClient 类下载部分文件会错误?可能是解压缩的锅
  • .Net 代码性能 - (1)