【发布时间】:2012-12-18 10:22:24
【问题描述】:
当鼠标移到图像的左下方时,我试图让一个小框出现在图像的左下方。框内将有一个指向不同页面的链接。
Here 和我想要的有点相似,但是盒子要小一些,并且不连接到图片的边框。
我已经尝试了所有方法,但找不到答案。而且我不想使用工具提示,更不用说我没有任何 javascript 知识这一事实。我真的希望这是 CSS。
我正在尝试使用的图像也可以在right here.找到
【问题讨论】:
当鼠标移到图像的左下方时,我试图让一个小框出现在图像的左下方。框内将有一个指向不同页面的链接。
Here 和我想要的有点相似,但是盒子要小一些,并且不连接到图片的边框。
我已经尝试了所有方法,但找不到答案。而且我不想使用工具提示,更不用说我没有任何 javascript 知识这一事实。我真的希望这是 CSS。
我正在尝试使用的图像也可以在right here.找到
【问题讨论】:
如果你来自更远的未来,你现在可以在 div 标签上使用 title 属性来提供工具提示:
<div title="Tooltip text">Hover over me</div>
希望您没有使用过去的浏览器。
<div title="Tooltip text">Hover over me</div>
【讨论】:
对于来自未来的人们,您现在可以完全在 CSS 中执行此操作。
.tooltip {
position: relative;
display: inline-block;
border-bottom: 1px dotted black;
margin: 5rem;
}
/* Tooltip text */
.tooltip .tooltiptext {
visibility: hidden;
background-color: black;
color: #fff;
text-align: center;
padding: 5px 0;
border-radius: 6px;
width: 120px;
bottom: 100%;
left: 50%;
margin-left: -60px;
position: absolute;
z-index: 1;
}
/* Show the tooltip text when you mouse over the tooltip container */
.tooltip:hover .tooltiptext {
visibility: visible;
}
<div class="tooltip">Hover over me
<span class="tooltiptext">Tooltip text</span>
</div>
【讨论】:
这是在 CSS3 中使用 :hover 伪元素。
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;
}
演示HERE.
这是一种使用 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页面的body中,然后你需要在head中包含jquery库,像这样:
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
</head>
你可以看演示HERE。
当您想在您的网站上使用它时,只需更改<img src /> 的值,您就可以添加多个图像和标题,只需复制我使用的格式:用class="hover" 插入图像和用class="text" 插入图像
【讨论】:
这是使用 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;
}
或者如果你只是想要它在左下角:
【讨论】:
display: block 和display: none 而不是不透明度。不过我更喜欢有好的过渡。