1

我的 CSS 出现了奇怪的效果。当我将鼠标悬停在一个框上时,它会将下一个框移动 32 像素。为什么?我假设它是因为复选框,但我将它向左移动了 32px。

演示

html:

<div class="Z"> <a href="http://google.com"><img src="http://25.media.tumblr.com/tumblr_m9p3n1vJmZ1rexr16o1_400.jpg" class="A"/><img src="http://suvendugiri.files.wordpress.com/2012/02/checkbox.png" class="B"/></a>
    <a
    href="http://google.com">
        <img src="http://25.media.tumblr.com/tumblr_m9p3n1vJmZ1rexr16o1_400.jpg"
        class="A" />
        <img src="http://suvendugiri.files.wordpress.com/2012/02/checkbox.png"
        class="B" />
        </a>
</div>

CSS:

/*.B { display: none; }/**/
 a:hover .B {
    display:inline-block;
}
.B {
    display:none;
    width: 32px;
    position: relative;
    left:-32px;
    vertical-align:top;
}
/
/*/
//.Z > * {vertical-align:top; }

JS(不需要):

$('.B').click(function () {
    alert('a');
    return false;
});
4

1 回答 1

2

left: -32px不移动元素的盒子模型,只移动它显示的地方。我会以不同的方式处理这个问题:

a {
    position: relative;
}
 a:hover .B {
     display: inline;
}
.B {
    display:none;
    width: 32px;
    position: absolute;
    right: 0;
}

http://jsfiddle.net/NPXFZ/1/

于 2013-03-02T21:06:29.747 回答