css位置相对不需要的额外空间

时间:2013-03-02 21:01:51

标签: html css

我的css中有一种奇怪的效果。当我将鼠标放在一个盒子上时,它将下一个盒子移动32个像素。为什么?我假设它是因为复选框但我向左移动了32px。

Demo

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;
});

1 个答案:

答案 0 :(得分: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/