CSS定位与JavaScript生成的div不符合我的预期

CSS定位与JavaScript生成的div不符合我的预期,css,javascript,Css,Javascript,首先,我必须道歉。CSS定位一直是我存在的祸根,而这可能是我完全不知道的简单事情 无论如何,我有一个生成div的JS脚本。每个div都位于绝对定位的父容器内。CSS如下: #container{ position: absolute; } #container div{ position: relative; } 创建div的函数是: function newLine(){ var id_num = ++line; var _new; var i; for(i = 0;

首先,我必须道歉。CSS定位一直是我存在的祸根,而这可能是我完全不知道的简单事情

无论如何,我有一个生成div的JS脚本。每个div都位于绝对定位的父容器内。CSS如下:

#container{
  position: absolute;
}
#container div{
  position: relative;
}
创建div的函数是:

function newLine(){
  var id_num = ++line;
  var _new;
  var i;
  for(i = 0; i < width; i++){
    _new = document.createElement('div');
    _new.innerHTML = randomChar();
    _new.id = id_num;
    _new.style.left = i*10+'px';
    _new.style.top = 0;
    document.getElementById('container').appendChild(_new);
  }
}
函数换行符(){
变量id_num=++行;
var_new;
var i;
对于(i=0;i

以上所有内容都已正确初始化。左侧的定位效果很好。唯一的问题是垂直定位。不是所有的行都显示在彼此旁边,而是从div的顶部逐渐增加。我确信这是一件小事,我正在仔细查看,但我被难住了。。。非常感谢您的帮助

行作为
位置:相对的
-这将静态地对它们进行布局,然后将它们移动到指定的像素数。您希望使用绝对定位。

相对定位的
充当元素,并将有效地消耗
宽度:100%
,除非您
显示:内联块
浮动
它们(不过,根据您对其内容的了解,最好将它们绝对定位)@danlefree我将此标记为重新打开并将其迁移到stackoverflow它不应关闭,但migrated@Anagio我认为潜在的问题——“div
和position样式声明如何工作?”——对于StackOverflow来说过于笼统(尽管我试图在结束评论中回答)@danlefree在堆栈上有很多这样的个人问题,有些人在自己的代码上有问题。我认为应该迁移它,你应该让堆栈上的版主决定是否关闭它。