html - JS插入元素不影响布局的div类型元素

标签 html css

我正在为我的网格系统使用 Twitter Bootstrap。我有一个 JS 脚本,它从 XML 文件中获取元素列表。我从这个文件中得到的每一项都应该插入到网格中,它有自己的列。为了更轻松地将这些元素插入到 DOM 中,我使用了一个名为 news-results 的 div,并在每次脚本循环遍历 XML 中的下一个元素时附加它。

<div class="container">
  <div class="row">
    <h1>Recent News</h1>
    <div id="news-results">
        <div class="col-lg-4 col-md-6 col-sm-12 col-12">
            <div class="card">
                <div class="card-body">
                    <h3>{news_title}</h3>
                    <p>{news_body}</p>
                    <div class="card-footer text-muted">
                        <div class="card-link">
                            <h6>Posted on {news_date}</h6>
                        </div>
                        <div class="card-link">
                            <a href="{news_link}" class="btn btn-primary">Read More</a>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
  </div>
</div>

问题是新闻结果 div 似乎影响了网格的布局。细胞堆叠在一起,而不是它们应该的方式。如果我只复制新插入的新闻项的 HTML 并将其插入到没有新闻结果 div 的页面中,它可以正常工作。

是否有一个元素可以让脚本轻松识别应该在页面中插入元素的位置?

这里有一个 JS fiddle 来演示。如果您删除 news-results 标签,您就会明白我的意思。

最佳答案

我找到了适合我的解决方案。

#news-results {
  display: contents;
}

它基本上使 div 严格充当内容 HTML 的占位符。

关于html - JS插入元素不影响布局的div类型元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53754238/

相关文章:

html - 如何通过 CSS 在有序列表中保持第二行的缩进?

asp.net-mvc - 如何使用 div 和 CSS 创建两列

html - 如何为位置 : absolute 制作响应式 div

html - 我如何使用 Twitter Bootstrap 3 "wrap"div?

javascript - 如何更改现有脚本中的字体颜色?

javascript - 在 Div 中为背景图像应用颜色

html - 如何强制父 div 水平拉伸(stretch)以容纳 float 的子 div?

html - 增加文本大小但保持输入字段的位置不变

javascript - 具有 rowspan 和 colspan 的响应表

css - 用于宽度屏幕的 bootstrap css