排队生成div水平

时间:2015-04-10 14:50:11

标签: javascript jquery

我正在创建一个地图生成器,让用户输入地图中的行数和列数,然后创建该地图(作为div)。一切正常,除了 div,而不是在行和列中,它们都在一个大的列中。它确实具有正确数量的图块(例如,如果输入3和2则为6,如果输入5和5则为25)。踢球者是如果我在常规html文件中输入div,它们就像他们应该的那样排队。

这是我的javascript函数:

 function createMap(rows, columns) {
     var $div = $('<div></div>');
     var k = 0;
     while (k < rows) {
         for (i = 0; i < columns; i++) {
             $div.append('<div></div>');
         }

     $div.append('<br>');
     k++;
     }
     $('body').empty();
     $('body').append($div);
}

这是我的CSS:

div {
    width: 100px;
    height: 100px;
    border: 1px solid black;
    display: inline-block;
}

生成的div正在读取CSS - 它们具有适当的高度,宽度和边框。看起来他们只是为每个人创造一条新线。谁能告诉我为什么?

2 个答案:

答案 0 :(得分:2)

你给所有你的div宽度为100px。 div中有div。所以你需要改变你的风格只针对孩子们

您只希望子div的宽度为100px。

 function createMap(rows, columns) {
     var $div = $('<div></div>');
     var k = 0;
     while (k < rows) {
         for (i = 0; i < columns; i++) {
             $div.append('<div></div>');
         }

     $div.append('<br>');
     k++;
     }
     $('body').empty();
     $('body').append($div);
}

createMap(2,3)
div > div {
    width: 100px;
    height: 100px;
    border: 1px solid black;
    display: inline-block;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

答案 1 :(得分:0)

浮动你的divs

div {
    width: 100px;
    height: 100px;
    border: 1px solid black;
    display: inline-block;
    float: left;
}