如何优雅地实现鼠标悬停出现隐藏文字?

一、使用CSS的:hover伪类实现鼠标悬停效果

CSS的:hover伪类可以给某个元素设置鼠标悬停时的样式,我们可以利用这个特性来实现鼠标悬停出现隐藏文字的效果。

<style>
  .hover-effect {
    position: relative;
    /* 隐藏文字 */
    color: transparent;
    /* 设置hover状态下文字显示 */
    &:hover::before {
      content: attr(data-content);
      position: absolute;
      top: 100%;
      left: 0;
      padding: 5px 10px;
      background-color: #333;
      color: #fff;
      border-radius: 5px;
      white-space: nowrap;
    }
  }
</style>

<div class="hover-effect" data-content="这里是隐藏的文字">鼠标悬停显示文字</div>

以上代码中,我们先使用CSS将隐藏文字的颜色设置为透明,然后在:hover状态下通过伪元素::before显示出相应的隐藏文字。

二、使用JavaScript实现鼠标悬停出现隐藏文字

除了使用CSS,我们也可以使用JavaScript来实现鼠标悬停出现隐藏文字的效果。

<script>
  const hoverEle = document.querySelector('.hover-effect-js');
  const content = hoverEle.dataset.content;
  let tooltip = null;
  hoverEle.addEventListener('mouseover', () => {
    tooltip = document.createElement('div');
    tooltip.innerHTML = content;
    tooltip.style = `
      position: absolute;
      top: 100%;
      left: 0;
      padding: 5px 10px;
      background-color: #333;
      color: #fff;
      border-radius: 5px;
      white-space: nowrap;
    `;
    hoverEle.appendChild(tooltip);
  });
  hoverEle.addEventListener('mouseout', () => {
    if (tooltip) {
      hoverEle.removeChild(tooltip);
      tooltip = null;
    }
  });
</script>

<div class="hover-effect-js" data-content="这里是隐藏的文字">鼠标悬停显示文字</div>

这段代码中,我们首先获取到对应元素和隐藏文字内容,然后通过添加和删除子元素的方式,在鼠标悬停和移出时分别显示和隐藏相应的文字内容。

三、结合CSS和JavaScript实现鼠标悬停出现隐藏文字

除了单独使用CSS或JavaScript,我们还可以结合二者来实现更为精细的效果。

<style>
  .hover-effect-combine {
    position: relative;
    /* 隐藏文字 */
    color: transparent;
  }
  .hover-effect-combine::before {
    content: attr(data-content);
    position: absolute;
    top: 100%;
    left: 0;
    padding: 5px 10px;
    background-color: #333;
    color: #fff;
    border-radius: 5px;
    white-space: nowrap;
    /* 只在JavaScript加载成功前显示 */
    visibility: hidden;
  }
</style>

<script>
  const hoverEle = document.querySelector('.hover-effect-combine');
  const content = hoverEle.dataset.content;
  let tooltip = hoverEle.querySelector('::before');
  hoverEle.addEventListener('mouseover', () => {
    tooltip.style.visibility = 'visible';
  });
  hoverEle.addEventListener('mouseout', () => {
    tooltip.style.visibility = 'hidden';
  });
</script>

<div class="hover-effect-combine" data-content="这里是隐藏的文字">鼠标悬停显示文字</div>

在以上代码中,我们将隐藏文字的方式放在了CSS中,而JavaScript只负责添加和删除样式中的visibility属性来控制文字的显示和隐藏。这样做可以充分利用CSS的特性,减少JavaScript代码的复杂度,同时又能保证动画效果的顺畅。

原创文章,作者:RTLK,如若转载,请注明出处:https://www.506064.com/n/146873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
RTLKRTLK
上一篇 2024-10-31 15:33
下一篇 2024-10-31 15:33

相关推荐

  • Python飞机大战中文字资源分析

    Python飞机大战是一款经典的飞行射击游戏,在游戏过程中,玩家需要控制一架飞机不断消灭敌人,生存到最后。该游戏使用Python语言编写,其中涉及到的文字资源对游戏的整体体验有重要…

    编程 2025-04-29
  • 如何优雅地吃葡萄不吐葡萄皮

    要想吃葡萄不吐葡萄皮,首先要学会剥皮,然后就可以慢慢地品尝了。 一、正确的剥皮方法 使用下面的代码可以达到正确的剥皮方法: function peelGrape(grape) { …

    编程 2025-04-29
  • Python如何打出精美文字

    Python作为一种高级编程语言,拥有广泛的应用领域。其中最常见的一项应用就是文字处理。Python可以帮助我们打出各种类型的文字,从简单的文本到复杂的图形和音频文件都不在话下。 …

    编程 2025-04-28
  • Python定位文字的实现方法

    本文将从多个方面对Python定位文字进行详细的阐述,包括字符串匹配、正则表达式和第三方库等方面。 一、字符串匹配 字符串匹配是最基础的Python定位文字方法,适用于简单的字符串…

    编程 2025-04-28
  • 使用Python绘图时如何添加文字

    在Python中绘图是一种十分重要的数据可视化方式,而其中添加文字则是让图像更加生动、信息更加详细的重要手段。本篇文章可以帮助您学习如何在绘图中添加文字。在代码中,我们将使用mat…

    编程 2025-04-28
  • 如何优雅地排版套打证书

    本文将从多个方面,为大家介绍如何优雅地排版套打证书,并给出相应的代码示例。 一、选择合适的字体 套打证书的字体必须要优雅、大方、优秀、清晰,所以应该选择像宋体、楷体、方正、微软雅黑…

    编程 2025-04-28
  • 自动换行后不能全部显示文字的解决方法

    在网页设计中,自动换行是非常必要的。但是有时候会出现自动换行后不能全部显示文字的情况。下面将从多个方面阐述这个问题的解决方法。 一、字号和行高 字号和行高是影响内容显示的两个重要因…

    编程 2025-04-27
  • 使用词云图生成器网站,让文字更美丽

    词云图是一种非常实用的工具,通过它可以直观地展示出文字内容的重点。而作为一个全能编程开发工程师,你一定需要掌握一些生成词云图的技巧。这篇文章将从多个方面详细阐述使用词云图生成器网站…

    编程 2025-04-27
  • 腾讯会议语音转文字导出教程

    本文将从多个方面对腾讯会议语音转文字导出进行详细阐述,包括使用方法、技巧、注意事项等。 一、使用方法 1、进入腾讯会议,选择需要导出语音的会议记录,在会议记录处点击“导出”。 im…

    编程 2025-04-27
  • opencv鼠标绘图

    本文将为您详细介绍如何使用opencv在原始图片上进行鼠标绘图。 一、准备工作 在开始绘制之前,您需要先准备好以下的工作: 1、安装opencv库,可以通过pip install …

    编程 2025-04-27

发表回复

登录后才能评论