CSS基础学习--20 提示工具(Tooltip)

news2025/1/11 20:48:19

一、定义

 提示工具在鼠标移动到指定元素后触发,总共四种样式实例:

 

 二、基础提示框(Tooltip)

提示框在鼠标移动到指定元素上显示

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS基础学习-提示框</title>
</head>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;

    /* 定位 */
    position: absolute;
    z-index: 1;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>
<body style="text-align:center;">

<div class="tooltip">鼠标移动到这
  <span class="tooltiptext">提示文本</span>
</div>

</body>
</html>

 

实例解析:

HTML- 使用容器元素 (like <div>) 并添加 "tooltip" 类。在鼠标移动到 <div> 上时显示提示信息。

提示文本放在内联元素上(如 <span>) 并使用class="tooltiptext"

CSS-tooltip 类使用 position:relative, 提示文本需要设置定位值 position:absolute。 注意: 接下来的实例会显示更多的定位效果。

tooltiptext 类用于实际的提示文本。模式是隐藏的,在鼠标移动到元素显示 。设置了一些宽度、背景色、字体色等样式。

 border-radius 属性用于为提示框添加圆角。

:hover 选择器用于在鼠标移动到到指定元素 <div> 上时显示的提示。

三、定位提示工具

以下实例中,提示工具显示在指定元素的右侧(left:105%) 。

注意 top:-5px 同于定位在容器元素的中间。使用数字 5 因为提示文本的顶部和底部的内边距(padding)是 5px。

如果你修改 padding 的值,top 值也要对应修改,这样才可以确保它是居中对齐的。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS基础学习-修改提示框位置</title>
</head>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    
    /* 定位 */
    position: absolute;
    z-index: 1;
    top: -15px;
    left: 205%;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>
<body style="text-align:center;">

<h2>右侧提示工具</h2>
<p>鼠标移动到以下元素:</p>

<div class="tooltip">鼠标移动到我这
  <span class="tooltiptext">提示文本</span>
</div>

</body>
</html>

设置top: -5px; 为负值则提示框会向上移动,为正值则往下移动

设置left: 105%; 为负值则提示框会向左移动,为正值则往右移动

或者设置right: 105%;

显示在左侧:

.tooltip .tooltiptext {
    top: -5px;
    right: 105%; 
}

        如果你想要提示工具显示在头部和底部。我们需要使用 margin-left 属性,并设置为 -60px。 这个数字计算来源是使用宽度的一半来居中对齐,即: width/2 (120/2 = 60)。

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS基础学习-提示框显示在头部或底部</title>
</head>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    
    /* 定位 */
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    margin-left: -60px;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>
<body style="text-align:center;">

<h2>头部提示工具</h2>
<p>鼠标移动到以下元素:</p>

<div class="tooltip">鼠标移动到我这
  <span class="tooltiptext">提示文本</span>
</div>

</body>
</html>

显示在底部:

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

 

 四、添加箭头

我们可以用CSS 伪元素 ::after 及 content 属性为提示工具创建一个小箭头标志,箭头是由边框组成的,但组合起来后提示工具像个语音信息框。

以下实例演示了如何为显示在顶部的提示工具添加底部箭头:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS基础学习-顶部提示框添加箭头</title>
</head>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 150%;
    left: 50%;
    margin-left: -60px;
}

.tooltip .tooltiptext::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: black transparent transparent transparent;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
}
</style>
<body style="text-align:center;">

<h2>顶部提示框/底部箭头</h2>

<div class="tooltip">鼠标移动到我这
  <span class="tooltiptext">提示文本</span>
</div>

</body>
</html>

 

实例解析

在提示工具内定位箭头: top: 100% , 箭头将显示在提示工具的底部。left: 50% 用于居中对齐箭头。

注意:border-width 属性指定了箭头的大小。如果你修改它,也要修改 margin-left 值。这样箭头才能居中显示。

border-color 用于将内容转换为箭头。设置顶部边框为黑色,其他是透明的。如果设置了其他的也是黑色则会显示为一个黑色的四边形。

4.2、底部提示框/顶部箭头

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    bottom: 100%;  /* 提示工具头部 */
    left: 50%;
    margin-left: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent black transparent;
}

4.3、右侧提示框/左侧箭头

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    right: 100%; /* 提示工具左侧 */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent black transparent transparent;
}

 4.4、左侧提示框/右侧箭头

.tooltip .tooltiptext::after {
    content: " ";
    position: absolute;
    top: 50%;
    left: 100%; /* 提示工具右侧 */
    margin-top: -5px;
    border-width: 5px;
    border-style: solid;
    border-color: transparent transparent transparent black;
}

 五、淡入效果

我们可以使用 transition 属性及 opacity 属性来实现提示工具的淡入效果

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>CSS基础学习-提示框淡入效果</title>
</head>
<style>
.tooltip {
    position: relative;
    display: inline-block;
    border-bottom: 1px dotted black;
}

.tooltip .tooltiptext {
    visibility: hidden;
    width: 120px;
    background-color: black;
    color: #fff;
    text-align: center;
    border-radius: 6px;
    padding: 5px 0;
    position: absolute;
    z-index: 1;
    bottom: 100%;
    left: 50%;
    margin-left: -60px;
    
    /* 淡入 - 1秒内从 0% 到 100% 显示: */
    opacity: 0;
    transition: opacity 1s;
}

.tooltip:hover .tooltiptext {
    visibility: visible;
    opacity: 1;
}
</style>
<body style="text-align:center;">

<h2>提示工具淡入效果</h2>
<p>鼠标移动到以下元素,提示工具会再一秒内从 0% 到 100% 完全显示。</p>

<div class="tooltip">鼠标移动到我这
  <span class="tooltiptext">提示文本</span>
</div>

</body>
</html>

效果图:

 

 鼠标放在元素上之后,提示工具会再一秒内从 0% 到 100% 完全显示

 淡入的开始与结束透明度与需要的时间,大家可以自己设置。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/659855.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【RV1126】IIC驱动--EEPROM

文章目录 原理图查找空闲的I2CEEPROM芯片改设备树编写驱动驱动端设备端驱动端和设备端编译成驱动模块应用层的测试代码 原理图查找空闲的I2C 由上面可以知道&#xff0c;空闲了I2C4接口&#xff0c;然后也引出来了。 再找原理图找到具体引脚&#xff1a; I2C4_SCL&#xff1…

第 5 章 机器学习技术的应用(下)

全文目录 机器学习技术的实施方法 预测阶段效果监控 离线预测在线预测 监控点击率的稳定性 真实点击率的稳定性 计算相邻两个区间内点击率分布的 PSI(Population Stability Index, 群体稳定性指标), 小于 0.1 可认为数据相对稳定;预测点击率的稳定性 与系统本身和用户发生变…

Dice Loss

导读 ​ Dice Loss是由 Dice 系数而得名的&#xff0c;Dice系数是一种用于评估两个样本相似性的度量函数&#xff0c;其值越大意味着这两个样本越相似&#xff0c;Dice系数的数学表达式如下&#xff1a; Dice 2 ∣ X ∩ Y ∣ ∣ X ∣ ∣ Y ∣ \text { Dice }\frac{2|X \ca…

Windows10完全卸载oracle19c

Windows10完全卸载oracle19c 1.停止服务2.卸载产品3.清理注册表4.清理环境变量5.清理文件夹 1.停止服务 winR输入service.msc进入服务列表&#xff0c;停止所有的服务 2.卸载产品 点击开始菜找到Oracle&#xff0c;然后点击Oracle安装产品&#xff0c;再点击Universal Inst…

如何安装PHP框架

目录 什么是PHP框架 第一步 安装PHP依赖包 第二步 导入PHP相关包 第三步 解包并切换进指定目录 第四步 在PHP目录内编译安装 第五步 编译 第六步 拷贝配置文件进行编辑 第七步 修改时区 第八步 修改文件指定路径 第九步 将命令加入指定目录进行识别 第十步 进入配置…

【Flutter】Audioplayers 4.1.0 简要使用说明

文章目录 一、前言二、安装和设置三、基本使用1.创建 AudioPlayer 实例2.设置音频源3.控制播放 四、示例代码五、总结 一、前言 Audioplayers 是一个非常实用的 Flutter 插件&#xff0c;它可以帮助我们在 Flutter 应用中播放音频。无论你是想在你的应用中添加背景音乐&#x…

【Python】在同一图形中更加优雅地绘制多个子图

1. 引言 数据可视化非常重要&#xff0c;有一句俗语叫做一图顶千言&#xff0c;我相信好多小伙伴应该都听说过这句话&#xff1b;即使是有人第一次听到&#xff0c;我想应该也会觉得赞成&#xff0c;这足以说明数据可视化的重要性。我们在前一篇博客中&#xff0c;介绍了如何利…

C语言基础 位域

C语言基础&#xff1a;位域 主题&#xff1a;位域&#xff08;bit-field&#xff09; 关键字&#xff1a;位域 冒号 结构体 存储空间 参考链接&#xff1a;C语言中文网&#xff1a;位域 、C菜鸟工具&#xff08;在线编译器&#xff09;、位域知乎问答 注&#xff1a;以下内容中…

VM安装linux虚拟机宿主机连接不上虚拟机问题处理及静态ip设置

VM安装linux虚拟机宿主机连接不上虚拟机问题处理 用 vm安装linux虚拟机宿主机连不上虚拟机&#xff0c;ipconfig宿主机发现VMnet1以及VMnet8的Ip都变成了169.254开头的地址&#xff0c;网上各种方式都试了都不行&#xff0c;要么 是 虚拟机连不上网&#xff0c;要么 是宿主机连…

金融测试岗面试有多难?我有秘招……

最近发现好多人都喜欢往金融测试岗跑&#xff0c;看来是真的很香了&#xff0c;但是你们知不知道面试金融测试岗还是很难的&#xff0c;如果想去面试真的要多做些了解再去&#xff0c;我在这里总结了一份面试文档分享给大家&#xff0c;若有需要&#xff0c;【留言777】即可。 …

windows 系统加固

其实Windows和Linux加固的方法都差不多 1.防火墙 1.防火墙的开启 2.入站规则进行设置 对一些端口更改后可以使用telnet 进行检测端口是否开放 2.安装杀毒软件 3.扫描漏洞&#xff0c;打补丁 一般漏洞扫描可以借用第三方平台对系统漏洞进行扫描。 开启补丁的自动更新 4.用…

【css系列】八股2023/6/18

1.说说设备像素、css像素、设备独立像素、dpr、ppi 之间的区别&#xff1f; css 像素&#xff1a;长度单位&#xff0c;在css规范中&#xff0c;长度单位分为两类&#xff1a;绝对单位 和 相对单位。 设备像素&#xff1a;物理像素&#xff0c;指设备能控制显示的最小物理单位…

计算机视觉的应用8-基于ResNet50对童年数码宝贝的识别与分类

大家好&#xff0c;我是微学AI&#xff0c;今天给大家介绍一下计算机视觉的应用8-基于ResNet50对童年数码宝贝的识别与分类&#xff0c;想必做完90后的大家都看过数码宝贝吧&#xff0c;里面有好多类型的数码宝贝&#xff0c;今天就给大家简单实现一下&#xff0c;他们的分类任…

计网大题(6/18)

1.奈奎斯特定理和香农公式 1.奈奎斯特 B1/T ,T是波特 &#xff0c;B成为波特率 奎氏定理&#xff1a;R2Wlog2&#xff08;N&#xff09; &#xff08;W是理想信道带宽&#xff0c;单位是hz&#xff09; 香农公式 R是最大信道容量 信道带宽是W 信噪比是S/N ,(S是平均信号功率…

kotlin学习(二)泛型、函数、lambda、扩展、运算符重载

文章目录 泛型&#xff1a;in、out、where型变&#xff08;variance&#xff09;不变&#xff08;Invariant&#xff09;协变&#xff08;Covariant&#xff09;Java上界通配符<? extends T>Kotlin的关键词 outUnsafeVariance 逆变&#xff08;Contravariant&#xff09…

Portraiture4.1智能磨皮滤镜插件下载安装使用教程

ps磨皮插件portraiture是一款用于修饰人像照片的插件&#xff0c;可以在Photoshop中使用。它可以通过智能算法来自动识别照片中的肤色区域&#xff0c;然后对其进行磨皮处理&#xff0c;使得肌肤更加光滑细腻。不需要像曲线磨皮、中性灰磨皮那样需要复杂的操作&#xff0c;轻轻…

JavaScript之函数 (七):认识JavaScript函数、函数的声明和调用、函数的递归调用、局部和全局变量、函数表达式的写法、立即执行函数使用

1. 认识JavaScript函数 1.1 程序中的foo、bar、baz 在国外的一个问答网站stackover flow中&#xff0c;常常会使用这几个次进行变量&#xff0c;函数&#xff0c;对象等等声明&#xff0c;地位如同张三&#xff0c;李四&#xff0c;王五。foo、bar这些名词最早从什么时候、地…

【MySQL入门】-- 认识MySQL存储引擎

目录 1.MySQL存储引擎有什么用&#xff1f; 2.MySQL的存储引擎有哪些&#xff1f;分别有什么特点&#xff1f; 3.存储引擎的优缺点 4.关于存储引擎的操作 5. 存储引擎的选择&#xff1f; 6.InnoDB和MyISAM区别&#xff1f; 7.官方文档 1.MySQL存储引擎有什么用&#xff…

2022 年第十二届 MathorCup 高校数学建模挑战赛D题思路

目录 一、前言 二、问题背景 三、问题 四、解题思路 &#xff08;1&#xff09;针对问题1&#xff1a; &#xff08;2&#xff09;针对问题2&#xff1a; &#xff08;3&#xff09;针对问题3&#xff1a; 五、附上几个典型代码 &#xff08;1&#xff09;K-means算法…

文献阅读:Foundation Transformers

文献阅读&#xff1a;Foundation Transformers 1. 文章简介2. 模型结构 1. Sub-LN2. Initialization 3. 实验效果 1. NLP任务 1. 语言模型上效果2. MLM模型上效果3. 翻译模型上效果 2. Vision任务上效果3. Speech任务上效果4. 图文任务上效果 4. 结论 & 思考 文献链接&…