我正在尝试制作一个小型图库。当鼠标悬停在每张图片上时,图片左侧应该出现一个工具提示。我的HTML代码如下:
标签的左侧,但是不知何故它每次都出现在相同的位置。这可能是什么原因呢?
.gallery {
right: 247px;
width: 220px;
}
.gallery li {
display: inline;
width: 100px;
height: 100px;
position: relative;
}
.gallery img {
float: right;
margin: 10px;
box-shadow: 0 0 0 8px rgba(0, 0, 0, 0.3);
-webkit-background-clip: padding-box;
/* for Safari */
background-clip: padding-box;
/* for IE9+, Firefox 4+, Opera, Chrome */
}
.tooltip {
width: 300px;
height: 100px;
display: none;
position: absolute;
right: -108px;
top: 222px;
z-index: 70;
background-color: rgba(0, 0, 0, 0.4);
-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(opacity=40)";
}
.gallery li:hover>.tooltip {
display: inline;
z-index: 70;
}
.gallery li:hover {
background: #fff;
}
.gallery li:hover img {
box-shadow: 0 0 0 8px rgba(255, 255, 255, 1);
}
<ul class="gallery">
<li>
<a href="#" class="thumb"><img src="img/pillow.jpg" alt=""></a>
<div class="tooltip"></div>
</li>
<li>
<a href="#" class="thumb"><img src="" alt=""></a>
<div class="tooltip"></div>
</li>
<li>
<a href="#" class="thumb"><img src="" alt=""></a>
<div class="tooltip"></div>
</li>
<li>
<a href="#" class="thumb "><img src="" alt=""></a>
<div class="tooltip"></div>
</li>
<li>
<a href="#" class="thumb"><img src="" alt=""></a>
<div class="tooltip"></div>
</li>
</ul>
就像之前所说的那样,这个想法是.tooltip拥有position:absolute,应该出现在被悬停的
position:absolute;
元素的父元素需要声明自己的位置不是静态的,才能相对于该父元素定位。尝试在你的.thumb
链接中添加position:relative;
。 - PlantTheIdea