2

我在 div 中有一些图像,当我将鼠标移到它们上方时,它们会变得更大。我的问题是,如果其中一个变大,其他图像会停留在 div 的顶部并向上移动。

我尝试将图像的底部属性设置为 0,但这不起作用,因为它们是相对定位的。如果我将它们的位置设置为绝对并将它们带到正确的位置,它们会在它们变大时重叠。

我还尝试将父 div 的垂直对齐设置为底部,但这也不起作用。

我的 HTML:

<div id="picmen">
    <img src="/images/b1.png" />
    <img src="/images/b2.png" />
    <img src="/images/b3.png" />
    <img src="/images/b4.png" />
    <img src="/images/b5.png" />
    <img src="/images/b6.png" />
    <img src="/images/b7.png" />
</div>

我的 CSS:

#picmen {
    position: absolute;
    right: 0px;
    bottom: 0px;
    vertical-align: bottom;
}

#picmen img {
    float: right;
    margin: 3px 1px 3px 1px;
    height: 50px;
    width: 50px;
    transition-duration: 0.5s;
}

#picmen img:hover {
    transition-duration: 0.5s; 
    width: 60px;
    height: 60px;
}
4

2 回答 2

1

你为什么不使用缩放效果而不是手动输入图像大小的悬停像这样的东西。

工作小提琴

#picmen img:hover {
    transition-duration: 0.5s; 
    transform: scale(1.2);
    -ms-transform: scale(1.2); /* IE 9 */
    -webkit-transform: scale(1.2); /* Safari and Chrome */
}    

您还可以更改悬停时的边距以避免重叠边距:3px 4px 3px 4px;

第二小提琴

于 2013-07-24T07:33:56.387 回答
0

我认为你必须玩#picmen height

#picmen {
position: absolute;
right: 0px;
bottom: 0px;
vertical-align: bottom;
height:63px}

另一方面,所有非鼠标悬停的 img 都应该有一个最高值

#picmen img {
position:relative;
float: right;
margin: 3px 1px 3px 1px;
height: 50px;
width: 50px;
transition-duration: 0.5s;
top:6px}

有一个例子jsfiddle,我只是用按钮替换了 img ,但应该是一样的

于 2013-07-24T07:26:36.380 回答