javascript - 为什么angularJS在新行中循环渲染框

标签 javascript html css angularjs

我有一些产品想像这样并排展示。 enter image description here

这个硬编码代码工作正常。

<div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>

但是当我试图用 angularJS 循环实现同样的事情时。

<div ng-repeat="product in Products">
    <div class="box">
        //i will fill the details here.
    </div>
</div>

我得到了这个结果。 enter image description here

这是我的 CSS 类。

.box {
padding : 5px;
display : inline-block;
min-width: 100px;
min-height: 50px;
background-color: red;
}

如果屏幕宽度已满,我需要做哪些更改才能使产品并排显示在下一行。

最佳答案

修复原始问题

你的 ng-repeat应该在<div class="box">

<div>
    <div ng-repeat="product in Products" class="box">
        //i will fill the details here.
    </div>
</div>

对您做错了什么的描述

通过这样做,您将重复创建一个新的 <div class="box">对于每个 product in Products .

您之前的做法意味着您要为每个 product in Products 创建一个新的容器元素.

简单易犯的错误。

修复您的 CSS 样式

要实现您在 OP 中显示的样式,您需要为重复元素添加边距,并在它们之间添加一些间距。 为此,请更改:

.box {
    padding : 5px;
    display : inline-block;
    min-width: 100px;
    min-height: 50px;
    background-color: red;
}

.box {
    margin-right : 5px;
    display : inline-block;
    min-width: 100px;
    min-height: 50px;
    background-color: red;
}

关于javascript - 为什么angularJS在新行中循环渲染框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29395975/

相关文章:

javascript - 如何在元素消失后 slider

javascript - ng-include 破坏了 bootstrap ul li 下拉格式

php - 如何在 Laravel 中为用户创建提醒

jquery - 在 IE 7 中覆盖以防止在后台混淆控件

javascript - 带有额外填充的 jquery 选项卡动态创建/删除新选项卡

html - CSS 只影响 MAC chrome 浏览器吗?

css - 如何在 Accordion 菜单的内容中制作背景中心

javascript - 提交表单后 jQuery UI 选项卡刷新内容

javascript - 可以手动应用 CSS 类,但 JavaScript 不这样做(真的很奇怪的问题)

Javascript GetElementsByClassName 变量位置