html - 鼠标移动时文字消失

标签 html css

当我将鼠标移到图像上时,文本会弹出,但是当我移动鼠标之后它就会消失。我不知道为什么会这样,这真的很令人沮丧。有没有人知道这里可能发生的事情?

.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.imgWrap {
  position: relative;
}
.imgDescription {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
  visibility: hidden;
  opacity: 0;
}
.imgWrap:hover .imgDescription {
  visibility: visible;
  opacity: 1;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2D2D2D;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  opacity: 0.1;
}
.hvr-bounce-to-right:hover,
.hvr-bounce-to-right:focus,
.hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before,
.hvr-bounce-to-right:focus:before,
.hvr-bounce-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <title>Untitled Document</title>
  <link href="cows.css" rel="stylesheet" type="text/css">
</head>

<body>
  <h1>Hello</h1>
  <div class="hvr-bounce-to-right">
    <div class="imgWrap">
      <p class="imgDescription">This is some hovertext</p>
      <img class="cow" src="cow.jpg" alt="cow">
    </div>
  </div>
</body>

</html>

CSS 文档

@charset "utf-8";

/* CSS Document */

.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.imgWrap {
  position: relative;
}
.imgDescription {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  /*remove comment if you want a gradual transition between states
  -webkit-transition: visibility opacity 0.2s;
  */
}
.imgWrap:hover .imgDescription {
  visibility: visible;
  opacity: 1;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2D2D2D;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  opacity: 0.1;
}
.hvr-bounce-to-right:hover,
.hvr-bounce-to-right:focus,
.hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before,
.hvr-bounce-to-right:focus:before,
.hvr-bounce-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}

最佳答案

这是一个 z-index 问题。

尝试

.imgDescription {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  /*remove comment if you want a gradual transition between states
  -webkit-transition: visibility opacity 0.2s;
  */
  z-index: 1;
}

.hvr-bounce-to-right {
  display: inline-block;
  vertical-align: middle;
  -webkit-transform: perspective(1px) translateZ(0);
  transform: perspective(1px) translateZ(0);
  box-shadow: 0 0 1px transparent;
  position: relative;
  -webkit-transition-property: color;
  transition-property: color;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
}
.imgWrap {
  position: relative;
}
.imgDescription {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  color: #fff;
  visibility: hidden;
  opacity: 0;
  /*remove comment if you want a gradual transition between states
  -webkit-transition: visibility opacity 0.2s;
  */
  z-index: 1;
}
.imgWrap:hover .imgDescription {
  visibility: visible;
  opacity: 1;
}
.hvr-bounce-to-right:before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #2D2D2D;
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: 0 50%;
  transform-origin: 0 50%;
  -webkit-transition-property: transform;
  transition-property: transform;
  -webkit-transition-duration: 0.5s;
  transition-duration: 0.5s;
  -webkit-transition-timing-function: ease-out;
  transition-timing-function: ease-out;
  opacity: 0.1;
}
.hvr-bounce-to-right:hover,
.hvr-bounce-to-right:focus,
.hvr-bounce-to-right:active {
  color: white;
}
.hvr-bounce-to-right:hover:before,
.hvr-bounce-to-right:focus:before,
.hvr-bounce-to-right:active:before {
  -webkit-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
  transition-timing-function: cubic-bezier(0.52, 1.64, 0.37, 0.66);
}
<h1>Hello</h1>
<div class="hvr-bounce-to-right">
  <div class="imgWrap">
    <p class="imgDescription">This is some hovertext</p>
    <img class="cow" src="http://www.placebacon.net/400/200?image=0" alt="cow">
  </div>
</div>

关于html - 鼠标移动时文字消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40346714/

相关文章:

javascript - 在javascript中单击时查找列表元素的索引

html - 使用定义的自动高度和最小高度垂直对齐容器内的内容

javascript - 禁用某些键,但不适用于文本区域和输入

css - 相对于窗口的动态 div 高度

javascript - CSS 过渡高度和填充

jquery - IE8 问题 - 元素使用错误的变换原点设置动画

html - 悬停时显示 "close"图标

html - 为什么我的 div 会相互重叠?

JavaScript 错误 Uncaught SyntaxError : Unexpected identifier

javascript for loop构造有序列表,数字上有彩色圆圈