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

Текст на изображении мыши?

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

Здесь немного похож на то, что я хочу, но ящик меньше и не связан с границей изображения.

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

Также изображения, с которыми я пытаюсь работать, можно найти здесь.

4b9b3361

Ответ 1

Это использует псевдоэлемент :hover в CSS3.

HTML:

<div id="wrapper">
    <img src="http://placehold.it/300x200" class="hover" />
    <p class="text">text</p>
</div>​

CSS

#wrapper .text {
position:relative;
bottom:30px;
left:0px;
visibility:hidden;
}

#wrapper:hover .text {
visibility:visible;
}

Демо ЗДЕСЬ.


Это вместо этого способ достижения одного и того же результата с помощью jquery:

HTML:

<div id="wrapper">
    <img src="http://placehold.it/300x200" class="hover" />
    <p class="text">text</p>
</div>​

CSS

#wrapper p {
position:relative;
bottom:30px;
left:0px;
visibility:hidden;
}

код jquery:

$('.hover').mouseover(function() {
  $('.text').css("visibility","visible");
});

$('.hover').mouseout(function() {
  $('.text').css("visibility","hidden");
});

Вы можете поместить код jquery, где хотите, в тело страницы HTML, тогда вам нужно включить библиотеку jquery в head следующим образом:

<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>

Вы можете увидеть демонстрацию ЗДЕСЬ.

Если вы хотите использовать его на своем веб-сайте, просто измените значение <img src />, и вы можете добавить несколько изображений и титров, просто скопируйте формат, который я использовал: вставьте изображение с помощью class="hover" и p с помощью class="text"

Ответ 2

Вот один из способов сделать это, используя css

HTML

<div class="imageWrapper">
    <img src="http://lorempixel.com/300/300/" alt="" />
    <a href="http://google.com" class="cornerLink">Link</a>
</div>​

CSS

.imageWrapper {
    position: relative;
    width: 300px;
    height: 300px;
}
.imageWrapper img {
    display: block;
}
.imageWrapper .cornerLink {
    opacity: 0;
    position: absolute;
    bottom: 0px;
    left: 0px;
    right: 0px;
    padding: 2px 0px;
    color: #ffffff;
    background: #000000;
    text-decoration: none;
    text-align: center;
    -webkit-transition: opacity 500ms;
    -moz-transition: opacity 500ms;
    -o-transition: opacity 500ms;
    transition: opacity 500ms;

}
.imageWrapper:hover .cornerLink {
    opacity: 0.8;
}

Демо

Или, если вы просто хотите его в нижнем левом углу:

Демо

Ответ 3

Использовать :hover::before псевдокласса

.round-pic2:hover::before{
    content: 'text';
    position: relative;
    top: 60px;
    left: 50px;
    width: 30px;
    height: 20px;
    text-align: center;
    display: inline-block;
}

JSFiddle