我有一些tumbnails,我想在悬停时显示一些文本。我可以在悬停时使它们变暗但不知道如何添加文本。
示例:http://www.lenzflare.com/video-production-portfolio/
这就是我所做的:
a {
display: inline-block;
overflow: hidden;
position: relative;
}
a:hover .play {
background:url(http://goo.gl/yJqCOR) no-repeat center center;
opacity: 0.8;
position: absolute;
width: 200px;
height: 200px;
left: 50%;
top: 50%;
margin-left: -110px;
margin-top: -150px;
}
<a href="/">
<div class="play"></div>
<img class="img" src="http://i42.tinypic.com/2v9zuc1.jpg" />
<br />
</a>
答案 0 :(得分:3)
好吧,我假设你想要这个列表:
这里有一些主要概念:相对定位以及它如何与绝对定位,来源订单和您的居中技术一起使用。
给出位置时:相对;在盒子里,你说的是“我现在是边界 - 对于任何绝对定位的东西”(除非它们是相对的,然后就像在线上那样) - 所以,绝对定位的覆盖物你想要淡入 - 绝对定位到相关框的一个或多个边缘。 (大多数人使用top:0; left:0;)---所以绝对的盒子不再出现在“flow”中,而是存在于由亲戚父亲决定的魔法世界中。
来源订单:堆叠时你的html会自下而上显示。所以你的封面应该在图像下方(按照html顺序) - 你可以使用z-index - 但是没有必要这样做。
负利润并不是真的很棒,而且这里不需要。您可以将文本对齐居中。我会做一些测试并在边框周围放置边框,这样你就可以看到它实际发生了什么。另外 - 我鼓励你使用盒子大小:边框盒子;关于一切...
阅读:Border box
<ul class="thumbnail-list">
<li>
<a href="#" class="image-w">
<img alt="thumbnail"
src="http://placekitten.com/600/300" />
<div class="cover">
<h3>Title</h3>
<p>A little bit more about the thing</p>
</div>
</a>
</li>
</ul> <!-- .thumbnail-list -->
.thumbnail-list {
list-style: none;
margin: 0; paddingn: 0;
}
.thumbnail-list li {
float: left;
}
a {
text-decoration: none;
color: inherit;
}
.thumbnail-list .image-w {
display: block;
position: relative;
width: 16em;
}
.image-w img {
display: block;
width: 100%;
height: auto;
}
.cover {
position: absolute;
top: 0; right: 0;
bottom: 0; left: 0;
width: 100%;
height: 100%;
color: rgba(255,255,255,0);
text-align: center;
transition: all 1s linear;
}
.cover:hover {
background-color: rgba(0,0,0,.8);
color: rgba(255,255,255,1);
transition: all .2s linear;
}
.thumbnail-list h3 {
font-size: 1.2em;
}
.thumbnail-list p {
font-size: .9em;
}
答案 1 :(得分:2)
=================
<a href="/" class="img"
style="background-image:url('http://i42.tinypic.com/2v9zuc1.jpg');"
onmouseover="this.firstElementChild.style.display='block'" >
<span class='play' onmouseout="this.style.display = 'none'";>
my lovely text here
<span>
</a>
=================
a {
min-height:104px;
min-width:184px;
display: inline-block;
overflow: hidden;
position: relative;
}
.play{
display:none;
color:#fff;
height:104px;
width:184px;
background-color:rgba(0,0,0,0.5);
position: absolute;
}
答案 2 :(得分:1)
这有效:
.pic{
background: url(http://i42.tinypic.com/2v9zuc1.jpg);
width: 200px;
height: 100px;
}
.text{
background: black;
text-align: center;
color: white;
opacity: 0;
width: 100%;
height: 100%;
-webkit-transition: opacity 0.6s;
-moz-transition: opacity 0.6s;
transition: opacity 0.6s;
}
.text:hover{
opacity: 0.8;
}
<div class="pic">
<div class="text">My Text</div>
</div>
答案 3 :(得分:0)
将一些文字内容添加到play
元素。
<div class="play">Some text</div>
为.play添加了css:
color:#fff;
font-size:16px;
答案 4 :(得分:0)
听起来你想要一个工具提示,如果是这样,那么为a href添加一个标题:
<a href="/" title="This is my text" >
您还可以在jQuery UI中使用工具提示。
否则,您可以使用javascript onmouseover或jQuery hover / mouseenter事件来显示play div中的文本。您可能需要确保play div的z-index高于img。
答案 5 :(得分:0)
试试这个:http://jsfiddle.net/JU7zm/
<a href="/">
<div class="play">text</div>
<img class="img" src="http://i42.tinypic.com/2v9zuc1.jpg" />
</a>
a {
display: inline-block;
overflow: hidden;
position: relative;
}
a .play {
display: none;
background:url(http://goo.gl/yJqCOR) no-repeat center center;
opacity: 0.8;
position: absolute;
width: 184px;
height: 104px;
color: #fff;
}
a:hover .play { display: block; }
答案 6 :(得分:0)
这是一个可以插入HTML的简单JS解决方案:
<script type="text/javascript">
document.getElementById("your_image_id").title = 'your hover text';
</script>