javascript - 为什么正方形不适合放在 div 内

标签 javascript html

我正在努力用方形单元格完全填充 div 元素。 现在这些方形单元格从 div 中掉出来,不适合等等。 我不确定是什么原因造成的。 有什么想法吗?

var cell_side_len = 50;

var grid_width = 400;
var grid_height = 300;

var container = document.getElementById("container");
container.style.border = "solid black";
container.style.width = grid_width+"px";
container.style.height = grid_height+"px";

for(var i = 0; i < grid_width/cell_side_len; i++){
  for(var j = 0; j < grid_height/cell_side_len; j++){
    var cell = document.createElement('div');
    cell.style.height = cell_side_len + 'px';
    cell.style.width = cell_side_len + 'px';
    cell.style.border = "1px solid black";
    cell.style.float = "left";
    container.appendChild(cell);
   }
}
<div id="container"></div>

    

最佳答案

您遇到的问题是边框不是宽度/高度的一部分。所以你所拥有的一切都是 52px 的宽度,而不是 50px。这是基本的盒子模型。

你能做什么?

  • 将宽度更改为 48
  • 或使用 box-sizing: border-box;
  • 或删除轮廓边框
  • 或者使用 Flexbox 或网格等现代方法。

关于javascript - 为什么正方形不适合放在 div 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49760667/

相关文章:

jquery - 使用媒体查询控制(覆盖)内联样式

javascript - 按类或 div 对元素进行 Jasmine 测试

javascript - 以编程方式切换到网页的生产源

javascript - ng-disabled 无法在按钮中工作

javascript - .append 或 .after 定义为变量?

jquery - 使用 Jquery 一个接一个地动画 Div

javascript - 在 Javascript 中复制具有不同名称的 HTML 文件(及其内容)

javascript - 将值传递给 javascript onClick()

javascript - 是否值得在不完全 RESTful 的网站上使用 Backbone?

javascript - 如何链接javascript和html