首页 > 其他分享 >使用css实现悬浮提示文本

使用css实现悬浮提示文本

时间:2024-12-03 09:32:45浏览次数:7  
标签:right 悬浮 text tooltip position 文本 border css left

<!DOCTYPE html>
<html>
<head>
<style>
.tooltip {
  position: relative;
  display: inline-block;
  border-bottom: 1px dotted black; /* If you want dots under the hoverable text */
}

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

  /* Position the tooltip text - see examples below! */
  position: absolute;
  z-index: 1;
  bottom: 100%;
  left: 50%;
  margin-left: -60px; /* Use half of the width (120/2 = 60), to center the tooltip */

  /* Add a small arrow to the tooltip */
  opacity: 0;
  transition: opacity 0.3s;
}

.tooltip:hover .tooltiptext {
  visibility: visible;
  opacity: 1;
}

/* Different arrow positioning examples */
.tooltip .tooltiptext::after {
  content: " ";
  position: absolute;
  top: 100%; /* At the bottom of the tooltip */
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: black transparent transparent transparent;
}

/* Example with tooltip positioned to the right */
.tooltip.right .tooltiptext {
  left: 105%;
  margin-left: 0;
}
.tooltip.right .tooltiptext::after {
  left: calc(100% - 10px); /* Position the arrow */
  top: 50%;
  margin-top: -5px; /* Center vertically */
  border-width: 5px;
  border-style: solid;
  border-color: transparent transparent transparent black; /* Change arrow color */
}
</style>
</head>
<body>

<p>Move the mouse over the text below to see the tooltip:</p>

<div class="tooltip">Hover over me
  <span class="tooltiptext">Tooltip text</span>
</div>

<br><br>

<div class="tooltip right">Hover over me (right)
  <span class="tooltiptext">Tooltip text on the right</span>
</div>

</body>
</html>

Explanation and Key Improvements:

  • position: relative; on the container: This is crucial. It establishes the container element as the positioning context for the tooltip, allowing us to absolutely position the tooltip relative to the container.
  • position: absolute; on the tooltip: This allows us to precisely position the tooltip.
  • z-index: 1; on the tooltip: Ensures the tooltip appears above other content.
  • Centered Tooltip: The code now correctly centers the tooltip below the text using left: 50%; and margin-left: -60px; (half the tooltip's width).
  • Arrow Positioning: The arrow is created using the ::after pseudo-element and positioned correctly. The example includes positioning for a tooltip below the text and another example for a tooltip to the right.
  • Transitions: Added opacity: 0; and transition: opacity 0.3s; for a smooth fade-in effect.
  • Class for Right Tooltip: Added a .right class to demonstrate how to easily modify the tooltip position for different placements. This makes the code more reusable.
  • Comments: Improved comments to explain the code better.

This improved example provides a more robust and flexible solution for creating hover tooltips with CSS. You can easily adapt the CSS to position the tooltip above, to the left, or below the text by adjusting the top, bottom, left, and right properties, and changing the arrow's border colors accordingly. Remember to adjust the margin-left or margin-top to keep the tooltip centered based on its position.

标签:right,悬浮,text,tooltip,position,文本,border,css,left
From: https://www.cnblogs.com/ai888/p/18583374

相关文章

  • css预处理器sass知识点
    下面一段代码是项目中全局样式的一段代码,解释下作用/**定义一个变量*/$me-button-bgcolor:(primary:$mybutton,warning:"#fff",);/***@each是一个Sass指令,用于循环遍历列表或映射。$key,$colorin$me-button-bgcolor表示将要遍历名为$me-button-bgcol......
  • 用css画一个五边形和一个六边形
    <!DOCTYPEhtml><html><head><style>.pentagon{width:100px;height:100px;background:red;position:relative;}.pentagon::before{content:"";position:absolute;top:0;left:0;width:0;hei......
  • 使用纯css来创建一个滑块
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>CSSSlider</title><style>......
  • iframe可以使用父页面中的资源吗(如:css、js等)?
    是的,iframe可以使用父页面中的资源,例如CSS和JavaScript。这取决于iframe的src属性以及父页面和iframe页面之间的关系。以下几种情况:同源策略下的iframe:如果iframe的src指向与父页面同源的URL(协议、域名和端口都相同),那么iframe可以完全访问父页面的资源,包括CSS、JavaScript......
  • 为什么说css中能用子代选择器的时候不要用后代选择器?
    在CSS中,提倡尽可能使用子代选择器(>)而不是后代选择器(空格),主要是因为性能和可预测性方面的原因:性能更高:子代选择器只选择直接子元素,而后代选择器会选择所有后代元素,包括子元素、孙元素等等。这意味着使用后代选择器时,浏览器需要遍历更多的DOM节点来确定匹配的元素,尤其在......
  • H5-16 CSS 的引入方式
    1、内联样式(行内样式)要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style属性可以包含任何CSS属性温馨提示:缺乏整体性和规划性,不利于维护,维护成本高<pstyle="color:red;font-size:30px;">内联样式</p>2、内联样式温馨提示:单个页面内的CSS代码......
  • 几种将word/wps文本中的英文/数字设置为Times New Roman格式的方法
        本文将简短介绍一下如何快速将word/wps中既有中文又有英文/数字文本中的英文/数字设置为TimesNewRoman格式,并且中文格式保持不变。    我们很多人在用word写文件、论文和报告时会碰到这种问题,我的正文或者标题部分有中文、英文和数字,中文的格式要求一般......
  • H5-15 H5里面的CSS
    1、CSS简介使用CSS的目的就是让网页具有美观一致的页面2、CSS概念CSS(CascadingStyleSheets)层叠样式表,又叫级联样式表,简称样式表CSS文件后缀名为.cssCSS用于HTML文档中元素样式的定义3、为什么需要CSS使用css的目的就是让网页具有美观一致的页面4......
  • jQuery和CSS3折叠卡片式下拉列表框特效
    这是一款使用JQUERY和CSS3制作的效果非常炫酷的折叠卡片式下拉列表框特效。该下拉列表框特效将每一个列表项都制作为卡片的样式,打开和关闭它有打开和关闭百叶窗的感觉,效果非常不错。预览  下载  使用方法 HTML结构该下拉列表框特效的列表项使用一个无序列表来制作,用......
  • 深入理解CSS盒模型及其属性
    深入理解CSS盒模型及其属性在网页布局和设计中,CSS盒模型(BoxModel)是至关重要的概念。它定义了如何展示HTML元素,并决定了元素在页面上的布局和尺寸。本文将详细探讨盒模型的五个核心属性:宽度(width)、高度(height)、内边距(padding)、边框(border)和外边距(margin)。什么是盒模型?盒......