我正在玩 jquery UI,我注意到一个奇怪的错误。当我单击使 div 可调整大小的按钮时,div 将移动到该按钮下方的位置。
可调整大小的.html:
<html>
<head>
<link href="my.css" rel="stylesheet" type="text/css"/>
<link href="jquery-ui.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery-ui.js"></script>
<script>
function makeResizable() {
$("#divRes").resizable();
}
</script>
<style>
</style>
</head>
<body>
<br><br><br><br><br><br><br><br><br><br>
<button onclick="makeResizable();">Make Resizable</button>
<div id="divRes" class="MyDiv"></div>
</body>
</html>
我的.css:
.MyDiv {
position: absolute;
left: 50px;
top: 50px;
height: 100px;
width: 100px;
padding: 0px;
margin: 0px;
z-index: 1;
background-color: cyan;
}
因此,只要我单击 make resizable 按钮,div 就会变得可调整大小,但它也会在按钮下方垂直移动。
奇怪的是:如果我从 my.css 中删除 css 并将其内联放置在
<style>
.MyDiv {
position: absolute;
left: 50px;
top: 50px;
height: 100px;
width: 100px;
padding: 0px;
margin: 0px;
z-index: 1;
background-color: cyan;
}
</style>
或者,如果我将 div 的声明更改为:
<div id="divRes" class="MyDiv"></div>
至
<div id="divRes"></div>
和 my.css 到
#divRes {
position: absolute;
left: 50px;
top: 50px;
height: 100px;
width: 100px;
padding: 0px;
margin: 0px;
z-index: 1;
background-color: cyan;
}
问题不会发生。
但当然,这样做既不受欢迎又愚蠢。该问题无法在 jsfiddle 中重现,因为显然所有 css 都是内联的。如有必要,我可以在线上传两个版本的文件。
jQuery版本:
jQuery UI - v1.8.20 - 2012-04-30
jQuery v1.7.2 jquery.org/license
提前感谢您的任何意见。
编辑:刚刚用 jquery-ui 1.30.3 和 jquery 1.9.1(最新)对其进行了测试。问题仍然存在,所以它不是由于它的旧版本。
EDIT2:我在这里上传了文件http://speedy.sh/eBPea/resizable.zip
resizable.htm:演示问题
resizable2.htm:如果我不使用 CSS 类(不是选项),问题不会出现
resizable3.htm:如果我在 html 文件中包含 CSS 类(不是选项),则不会出现问题