2

将鼠标悬停在某些图像上时,我想增加它们的大小。请看下面的例子。这是选项测试(第三张图片):

http://livingfunky.webresponsive.co.uk/index.php/curtains/hand-made-curtains/test-hand-made-curtain.html

.swatches-container .swatch-img,
.swatches-container .swatch-span {
  margin:0 2px 2px 0;
}

.swatches-container .swatch-img {
  border:1px solid #eee;
  max-width:30px;
  max-height:28px;
  z-index: 0;
  position: relative;
}

.swatches-container .swatch-img.current {
  border:2px solid #333;
}

.swatches-container .swatch-span {}

.swatch-img:hover {
  border:1px solid #eee;
  max-width:60px;
  max-height:46px;
  left:10px;
  cursor:pointer;
  top: -20px;
  left: -20px;
}

我遇到的问题是,当我将鼠标悬停在第三张图片上时,div 会移动。我怎样才能防止这种情况发生?谢谢

4

2 回答 2

2

交易是您需要将图像定位为absolute,以便在swatches-container它们变大时不会调整大小。

因此,您可以将图像放入一个<div class="swatch-img-block"></div>保持小图像大小的图像中,因此流不会被您不断增长的图像修改,并且您的图像将absolute相对于这些图像定位<div>

你可以用这个 CSS 做到这一点:

.swatches-container .swatch-img-block
{
    display:inline-block; /* displayed as inline elements */
    position: relative; /* so the images can be positioned relatively to this */
    width:30px; /* keeping the image size */
    height:28px;
}

并通过添加position:absolute..swatch-img:hover{ }

编辑:看起来像兼容性问题,最好将.swatch-img:hover选择器替换为.swatch-img-block:hover .swatch-img. 这样,如果指针在<div>包含图像的位置(图像较小时的空间),则图像会变大。此外,它还避免了图像移出指针的问题。

这是一个有效的 jsFiddle:链接

于 2013-07-16T18:31:14.720 回答
0

您可以在悬停时将 img 设置为绝对定位,也swatches-container必须相对定位:

.swatches-container
{
  position:relative;
}
.swatch-img:hover {
  position:absolute;
}
于 2013-07-16T18:20:10.030 回答