微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

javascript – 如何避免兄弟的元素抖动时动画与jquery

我有两个div元素并排.当我将鼠标移动到第一个位置并使其动画时,下一个奇怪的是摇动.看到这里: http://jsfiddle.net/YqZSv/1/我注意到只有当填充和边框涉及时才会发生.如果我用边框替换边框,则“晃动”效果停止.

HTML

<div class='a'></div>
<div class='b'></div>

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

jQuery的

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

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

任何帮助?

解决方法

告诉浏览器将填充和边框宽度保持在定义的高度/宽度内,因此不会认为大小正在更改:
div.a { Box-sizing:border-Box; }

http://jsfiddle.net/exvEa/

原文地址:https://www.jb51.cc/jquery/154939.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐