javascript - 设置动态 div 的网格

标签 javascript jquery html css twitter-bootstrap

我目前正在尝试用我的 html 设置一个网格。我的内容存放在 Bootstrap .container 中。此内容是 div 的集合。 div 的数量因外部进程而异。如果 div 的数量是偶数,那么我想要一个 2xn 的网格。如果有奇数个 div,我也想要一个网格,但我希望最后一个 div 以其自己的 block 为中心。我已经能够使用以下代码实现此目的。

HTML

<div class="container">
    <div class="targetcontainer">
    <div class="target">
        <p>content goes here man</p>
    </div>
    <div class="target">
        <p>content goes here man</p>
    </div>
    <div class="target">
        <p>content goes here man</p>
    </div>
    <div class="target">
        <p>content goes here man</p>
    </div>
    <div class="target">
        <p>content goes here man</p>
    </div>
    </div>
</div>

CSS

.target {
  display: inline-block;
  width: 47%;
  min-width: 400px;
  height: 265px;
  margin: 10px 10px;
  padding: 2%;
  vertical-align: top;
  background: #fff;
  border: 1px solid #ebebeb;
  text-decoration: none;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -o-transition: all 0.2s;
  -ms-transition: all 0.2s;
  transition: all 0.2s;
  border-bottom: 3px solid transparent;
  cursor: pointer;
}

JS

function addClassToLastElement() {
  $('.target').each(function(index, element) {
    if ($(this).is(":last-child") && index % 2 == 0) {
      $(this).css('display', 'block')
      $(this).css('margin', '0 auto')
    }
  })
}

addClassToLastElement()

我的 jQuery 代码判断是否有奇数个元素。如果有,那么它会添加适当的属性并将最后一个 div 居中。你可以看到这个here (确保结果屏幕比较大)。

缩小屏幕时会出现问题。当有一个窗口缩小时,div 堆叠在彼此之上,这就是我想要的。问题是除了最后一个,它们不会位于屏幕中间。如果您检查最后一个 div,那就是我希望在屏幕缩小到 div 相互堆叠的程度时显示所有 div。任何人都知道如何在不使用 bootstrap 和不使用 jQuery 的 .resize() 的情况下完成此操作?我只想使用一个 Bootstrap 元素,那就是 .container

最佳答案

在父容器中添加一个text-align: center,所有的.target div现在应该居中

编辑:

/* The container itself */
.container{
    text-align: center;
}

/* every element, that is inside */
.container *{
    text-align: left;
}

编辑 2:(使用第二个容器)

https://jsfiddle.net/12wsn4pb/6/

关于javascript - 设置动态 div 的网格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32594699/

相关文章:

javascript - openui5树中fire select事件的参数是什么?

ajax - 将参数传递给 jQuery 数据表中的 sAjaxSource

php - 搜索栏将结果显示到另一个页面

jquery - 是否有一个 jQuery 自动完成插件可以强制选择一个项目?

jquery - 带文本框输入的 ui slider

javascript - 如何将选项卡设置为禁用/启用

css - 如何在另一个 iframe 上显示 iframe 的 div

javascript - 如果我的值需要根据以前的值进行更新,我该如何编写纯函数代码?

javascript - jQuery/Javascript 比较运算符 "==="和 "=="

javascript - 将 DOM 节点移动到弹出窗口