Подтвердить что ты не робот

Как показывать текст на изображении при наведении курсора?

Я пытаюсь показать описание при наведении на изображение. Я уже делал это менее чем желательно, используя спрайты изображений и зависающие здесь: http://willryan.us/design.html Я хочу, чтобы он выглядел точно так же, как у меня есть, но используя реальный текст вместо изображения.

Я пробовал несколько разных вещей, но я не могу понять, как это сделать. Я пытаюсь сделать это, используя только HTML и CSS, но я не уверен, что это возможно.

Не стесняйтесь копаться в моем коде, я приложу то, что, по моему мнению, будет relavent здесь.

HTML

<div id="projectlist">
                <div id="buzzbutton"><a  href="buzz.html" title=""><img src="content/assets/thumbnails/transparent_150x150.png" alt="" /></a></div>

                <div id="slinksterbutton"><a href="slinkster.html" title=""><img src="content/assets/thumbnails/transparent_150x150.png" alt="" /></a></div>             
</div>

CSS

div#projectlist {
    width: 770px;
    margin:0 auto;
    margin-top:20px;
    margin-bottom:40px;
}

div#buzzbutton {
        display:block;
        float:left;
        margin:2px;
        background: url(content/assets/thumbnails/design/buzz_sprite.jpg) 0 0px no-repeat;
        width: 150px;
        height: 150px;
    }

    div#buzzbutton:hover {
        background:url(content/assets/thumbnails/design/buzz_sprite.jpg);
        width:150px;
        height:150px;
        background-position:0 -150px;
    }

div#slinksterbutton {
        display:block;
        float:left;
        background:url(content/assets/thumbnails/design/slinkster_sprite.jpg) 0 0px no-repeat;
        width: 150px;
        height: 150px;
        margin:2px;
    }

    div#slinksterbutton:hover {
        background:url(content/assets/thumbnails/design/slinkster_sprite.jpg);
        width:150px;
        height:150px;
        background-position:0 -150px;
    }
4b9b3361

Ответ 1

Это просто. Оберните изображение и описание "отображаться при наведении" в div с одинаковыми размерами изображения. Затем, с некоторым CSS, закажите описание, которое будет отображаться при зависании этого div.

/* quick reset */
* {
  margin: 0;
  padding: 0;
  border: 0;
}

/* relevant styles */
.img__wrap {
  position: relative;
  height: 200px;
  width: 257px;
}

.img__description {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(29, 106, 154, 0.72);
  color: #fff;
  visibility: hidden;
  opacity: 0;

  /* transition effect. not necessary */
  transition: opacity .2s, visibility .2s;
}

.img__wrap:hover .img__description {
  visibility: visible;
  opacity: 1;
}
<div class="img__wrap">
  <img class="img__img" src="http://placehold.it/257x200.jpg" />
  <p class="img__description">This image looks super neat.</p>
</div>

Ответ 2

В своем HTML попробуйте поместить текст, который вы хотите найти в титульной части кода:

<a  href="buzz.html" title="buzz hover text">

Вы также можете сделать то же самое для текста вашего изображения.

Ответ 3

Вы также можете использовать атрибут title в теге изображения

<img src="content/assets/thumbnails/transparent_150x150.png" alt="" title="hover text" />

Ответ 4

Это то, что я использую, чтобы текст отображался при наведении:

* {
  box-sizing: border-box
}

div {
  position: relative;
  top: 0px;
  left: 0px;
  width: 400px;
  height: 400px;
  border-radius: 50%;
  overflow: hidden;
  text-align: center
}

img {
  width: 400px;
  height: 400px;
  position: absolute;
  border-radius: 50%
}

img:hover {
  opacity: 0;
  transition:opacity 2s;
}

heading {
  line-height: 40px;
  font-weight: bold;
  font-family: "Trebuchet MS";
  text-align: center;
  position: absolute;
  display: block
}

div p {
  z-index: -1;
  width: 420px;
  line-height: 20px;
  display: inline-block;
  padding: 200px 0px;
  vertical-align: middle;
  font-family: "Trebuchet MS";
  height: 450px
}
<div>
  <img src="https://68.media.tumblr.com/20b34e8d12d4230f9b362d7feb148c57/tumblr_oiwytz4dh41tf8vylo1_1280.png">
  <p>Lorem ipsum dolor sit amet, consectetur adipisicing <br>elit. Reiciendis temporibus iure dolores aspernatur excepturi <br> corporis nihil in suscipit, repudiandae. Totam.
  </p>
</div>

Ответ 5

.container {
  position: relative;
  width: 50%;
}

.image {
  display: block;
  width: 100%;
  height: auto;
}

.overlay {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  height: 100%;
  width: 100%;
  opacity: 0;
  transition: .5s ease;
  background-color: #008CBA;
}

.container:hover .overlay {
  opacity: 1;
}

.text {
  color: white;
  font-size: 20px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
<!DOCTYPE html>
<html>
<head></head>
<body>

<div class="container">
  <img src="http://lorempixel.com/500/500/" alt="Avatar" class="image">
  <div class="overlay">
    <div class="text">Hello World</div>
  </div>
</div>

</body>
</html>