您的位置:

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

一、使用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代码的复杂度,同时又能保证动画效果的顺畅。

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

2023-05-16
如何优化网页链接的悬停效果

2023-05-12
jQuery鼠标移入移出隐藏显示详解

2023-05-20
鼠标悬停显示图片的js代码(js鼠标悬停放大图片)

本文目录一览: 1、鼠标悬停在小图上,自动出现大图的代码是什么? 2、鼠标悬停特效代码怎么写,鼠标放在小图片上旁边显示一张大图片? 3、鼠标悬停显示图片的js代码 高手帮我看看 位置问题 鼠标悬停在小

2023-12-08
js鼠标显示文字,js鼠标选中的文字加样式

2023-01-08
VueHover:如何实现Vue.js的鼠标悬停效果

2023-05-21
JS鼠标悬停显示文字

2023-05-18
如何优雅地改变鼠标指针样式

2023-05-24
详解div超出部分隐藏

2023-05-19
如何优化网页列表项的样式

2023-05-12
提高网站用户体验,如何优化鼠标悬停图片放大效果

2023-05-20
Vue中的鼠标悬停事件Vue.onmouseover

2023-05-22
如何优雅地改变鼠标指针样式:教你使用CSS制作Cursor变

2023-05-12
深入了解JS鼠标悬停事件

2023-05-21
如何优雅地停止Kubernetes中的Pod

2023-05-17
使用CSS实现鼠标悬停效果的按钮:让你的网站更具交互性

2023-05-12
js鼠标示例代码,js鼠标示例代码是什么

本文目录一览: 1、js怎么编写鼠标的右击事件 2、JS控制鼠标点击的代码 3、JS鼠标事件大全 JS鼠标事件有哪些 4、js鼠标悬停显示文字实例 5、如何用JS写鼠标触发事件 js怎么编写鼠标的右击

2023-12-08
使用jq实现鼠标移入移出显示和隐藏效果

2023-05-18
jQuery Slidetoggle:优雅地显示和隐藏你的内

2023-05-18
如何利用setmousetracking实现更好的用户体验

2023-05-21