使用jquery动画时如何避免兄弟元素摇晃

vbs*_*ssa 10 javascript jquery jquery-animate

我有两个div元素并排.当我将鼠标移到第一个并激活它时,下一个奇怪地摇动.看到这里:http://jsfiddle.net/YqZSv/1/我注意到它只发生在填充和边框时.如果我用边距替换边框,则"摇动"效果会停止.

HTML

<div class='a'></div>
<div class='b'></div>
Run Code Online (Sandbox Code Playgroud)

CSS

.a {
   width: 80px;
   height: 80px;
   padding: 10px;
   border: 0px solid yellow;
   background-color: red;
   display: inline-block
}

.b {
   width: 100px;
   height: 100px;
   background-color: blue;
   display: inline-block;
   margin-left: 20px;
}
Run Code Online (Sandbox Code Playgroud)

jQuery的

$('.a').mouseenter(function(){
    $(this).animate({
        'padding': 0,
        'borderWidth': 10
    });
}).mouseleave(function(){
    $(this).animate({
       'padding': 10,
       'borderWidth': 0
    });
});
Run Code Online (Sandbox Code Playgroud)

我不能使用边距而不是边框​​,因为我使用带边框原点的背景图像,所以我不希望它与其内容一起移动.

有帮助吗?

Mal*_*alk 3

告诉浏览器将内边距和边框宽度保持在定义的高度/宽度内,这样它就不会认为大小正在改变:

div.a { box-sizing:border-box; }
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/exvEa/