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

Vue封装Tooltip(提示工具)

<template>  <div class="tooltip" @mouseover="showTooltip" @mouseleave="hideTooltip">  <slot></slot> <!-- 使用slot来接收传入的内容 -->  <span class="tooltiptext" v-if="visible">{{ tooltipText }}</span>  </div>  
</template><script>  
export default {  name: 'Tooltip',  props: {  tooltipText: String // 接收外部传入的提示文本  },  data() {  return {  visible: false // 控制提示框的显示隐藏  };  },  methods: {  showTooltip() {  this.visible = true;  },  hideTooltip() {  this.visible = false;  }  }  
}  
</script><style scoped>  
.tooltip {  position: relative;  display: inline-block; /* 确保Tooltip可以跟随内容的宽度 */  /* 可以添加一些内边距或外边距来避免内容过于紧凑 */  padding: 5px;  margin: 10px;  border-bottom: none; /* 移除底部边框,因为它可能不再需要 */  /* 其他样式可以根据需要添加 */  
}  .tooltip .tooltiptext {  visibility: hidden;  width: auto; /* 使用auto宽度可以适应内容 */  background-color: black;  color: #fff;  text-align: center;  border-radius: 6px;  padding: 5px 10px; /* 增加水平内边距以改善可读性 */  /* 定位 */  position: absolute;  z-index: 1;  bottom: 100%; /* 原始位置,但我们会用transform来调整 */  left: 50%;  transform: translateX(-50%) translateY(-10px); /* 将Tooltip向上移动 */  /* 可以添加箭头样式 */  ::after {  content: " ";  position: absolute;  bottom: 100%; /* Tooltip底部 */  left: 50%;  margin-left: -5px;  border-width: 5px;  border-style: solid;  border-color: black transparent transparent transparent;  }  
}  /* 当Tooltip可见时 */  
.tooltip:hover .tooltiptext {  visibility: visible;  
}  
</style>

使用

<template>  <div>  <Tooltip tooltipText="这是提示文本">  鼠标悬停在这里  </Tooltip>  </div>  
</template>  <script>  
import Tooltip from './components/Tooltip.vue';  export default {  components: {  Tooltip  }  
}  
</script>

http://www.lryc.cn/news/401572.html

相关文章:

  • Go 1.19.4 函数-Day 08
  • Docker-Nvidia(NVIDIA Container Toolkit)
  • Mongodb 3.6 数据恢复操作
  • C++ | Leetcode C++题解之第238题除自身以外数组的乘积
  • 挂耳式蓝牙耳机什么牌子好?这五款综合表现遥遥领先
  • 防火墙-NAT策略和智能选路
  • 一键优雅为Ubuntu20.04服务器挂载新磁盘
  • 踩坑日记 | 记一次流程图问题排查
  • 数据建设实践之大数据平台(四)安装mysql
  • MongoDB常用命令大全,概述、备份恢复
  • uni-app 保存号码到通讯录
  • Jetson-AGX-Orin gstreamer+rtmp+http-flv 推拉流
  • ES证书过期替换方案
  • 计算机网络——网络层(IP地址与MAC地址、地址解析协议ARP、IP数据报格式以及转发分组、ICMP、IPV6)
  • 音视频入门基础:H.264专题(13)——FFmpeg源码中通过SPS属性获取视频色彩格式的实现
  • WEB前端05-JavaScrip基本对象
  • 新手教学系列——简单的服务配置项集中管理
  • 《0基础》学习Python——第十三讲__面向对象
  • 前端JS特效第42波:纯CSS实现的卡片切换效果
  • 2.10、matlab中字符、数字、矩阵、字符串和元胞合并为字符串并将字符串以不同格式写入读出excel
  • 中文科技核心论文发表
  • 使用 Flask 3 搭建问答平台(一):项目结构搭建
  • 力扣经典题目之->用队列实现栈 的详细讲解和实现,看这一篇就够了!
  • [JS]认识feach
  • tomcat如何进行调优?
  • 复现GMM文章(一):图1代码和数据
  • 链接追踪系列-07.logstash安装json_lines插件
  • 火山引擎数据飞轮实践:在电商场景中,如何建设全链路数据血缘?
  • 使用加密软件对企业来说有什么好处
  • STM32入门开发操作记录(二)——LED与蜂鸣器