如何在悬停叠加图像中包含文本 - 仅限 HTML、CSS、JavaScript

How to include text with hover overlay image - HTML, CSS, JavaScript only

下面的代码一旦悬停在形状上,单词就会出现在后面。这里有两个问题: 1.如果我把字体变小(24px),深灰色不会覆盖整个形状。 2. 我想在悬停时包含单词,例如我希望它在悬停之前显示有关形状的信息,然后随着形状消失以显示其背后的新信息。就像一个名字逐渐消失给一个生物。

我用 w2schools 编译了这个:https://www.w3schools.com/code/tryit.asp?filename=FT2LEOI9SQQN

<html>

<div id="box">

  <div id="overlay">
    <span id="plus">Hello<br>Hi</span>
  </div>

</div>

<style>
body {
  background: #e7e7e7;
}
#box {
  width: 300px;
  height: 200px;
  box-shadow: inset 1px 1px 40px 0 rgba(0, 0, 0, 0.45);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  margin: 5% auto 0 auto;
  background-size: cover;
  border-radius: 5px;
  overflow: hidden;

}

#overlay {
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  padding: 45px 0 66px 0;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
}

#box:hover #overlay {
  opacity: 1;
}

#plus {
  font-family: Helvetica;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.85);
  font-size: 24px;
}

</style>
</html>

请查看修改后的代码,它现在覆盖了整个Div。 我对你的第二点有点模糊,希望也能解决。 我已经测试了代码,你也可以测试,下次注意使用自己的编辑器以获得更好的输出。 如果代码解决了您的问题,请投票以认可我们的努力。 谢谢你。 最良好的祝愿,

<html>
<head>
<title>
</title>
<style>
body {
  background: #e7e7e7;
}
#box {
  width: 300px;
  height: 177px;
  box-shadow: inset 1px 1px 40px 0 rgba(0, 0, 0, 0.45);
  border-bottom: 2px solid #fff;
  border-right: 2px solid #fff;
  margin: 5% auto 0 auto;
  background-size: cover;
  border-radius: 5px;
  overflow: hidden;

}

#overlay {
  background: rgba(0, 0, 0, 0.75);
  text-align: center;
  padding: 45px 0 66px 0;
  opacity: 0;
  -webkit-transition: opacity 0.25s ease;
  -moz-transition: opacity 0.25s ease;
}

#box:hover #overlay {
  opacity: 1;
}

#plus {
  font-family: Helvetica;
  font-weight: 900;
  color: rgba(255, 255, 255, 0.85);
  font-size: 24px;
}

</style>

</head>
<div id="box">

  <div id="overlay">
    <span id="plus">Hello<br>Hi</span>
  </div>

</div>

</html>