动态创建div 为什么 style的 left 与 top 属性没用?

我的动态创建一个div标签,代码如下:<script>x=0,y=0;functioncreate(){a=Math.random(1);im=document.crea... 我的动态创建一个 div 标签,代码如下:
<script>
x=0,y=0;
function create(){
a=Math.random(1);
im=document.createElement("div");
document.getElementsByTagName("body")[0].appendChild(im);
im.id=a;
im.style.left=x;
im.style.top=y;
x+=150;
if(x>900)
{
x=0;y+=50;
}
im.style.width=150;
im.style.height=50;
im.innerHTML="KKK";
alert(im.style.left+" "+im.style.top+" "+im.id);
}
</script>

点击一个 按钮 就执行一次create();
可是为什么 left,与top属性没用了? 它全部都在最左边,从上到下排列,
但是 width 与 height 都是 我指定的????为什么 left 与 top不是我指定的?
最奇怪的是 、、、、、
最后我
alert(im.style.left+" "+im.style.top+" "+im.id);
弹出来的 left 与 top 却是我 设定的值, 可是这个div 却不在相应的地方!!!
为什么???
展开
 我来答
匿名用户
2012-07-18
展开全部
语法:
top : auto | length
取值:
auto :  默认值。无特殊定位,根据HTML定位规则在文档流中分配
length :  由浮点数字和单位标识符组成的长度值 | 百分数。必须定义 position 属性值为
absolute 或者 relative 此取值方可生效。请参阅 长度单位

说明:
检索或设置对象与其最近一个具有定位设置的父对象顶边相关的位置。
此属性仅仅在对象的定位(
position )属性被设置时可用。否则,此属性设置会被忽略。
此属性对于 currentStyle
对象而言是只读的。对于其他对象而言是可读写的。
对应的脚本特性为 top
。其值为一字符串,所以不可用于脚本(Scripts)中的计算。请使用 style 对象的 posTop ,
pixelTop 等运行时特性,以及对象的offsetTop 等特性。
示例:
div { position: absolute; top: 1in; }
div {
position:relative; top:-3px; left:6px; }
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式