【发布时间】:2014-04-13 15:54:25
【问题描述】:
我遇到了这个小问题。我的包装纸里有一个盒子,我想来回摇晃它。效果很好,但是当我向#box 添加填充时,动画打开时填充消失。 #box 也有一个 box-sizing: border-box,因此填充不会影响框的大小。
如果我删除 box-sizing: border-box 动画可以工作,但是填充会影响盒子的实际大小,每边都增加 20px,这不是故意的。
我尝试将!important、padding 和box-sizing 放在一起,但这也没有用。
我也尝试将border-box 更改为content-box (来自谷歌搜索的答案),但这也没有奏效。
这是我的代码:
头部部分:
<script src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"></script>
HTML:
<div id="wrapper">
<div id="box">
</div>
</div>
CSS:
body {
margin: 0;
padding: 0;
}
* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
#wrapper {
width: 400px;
height: 250px;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
margin: auto;
}
#box {
width: 400px;
height: 250px;
background: gray;
padding: 20px;
}
jQuery:
$("#box").effect( "shake", { direction: "left", times: 4, distance: 50}, 2600 );
知道发生了什么吗?
谢谢 - TheYaXxE
【问题讨论】:
-
发现此问题的人请注意,就像我刚才所做的那样。因为它已经是 pointed out,所以这是 known bug,并且在 2014 年末已经是 fixed and closed。解决方案是 update your jquery-ui.js copy 到 1.12.0 或更高版本。