【问题标题】:Remove space between divs vertically [Bootsrap 3]垂直删除 div 之间的空间 [Bootstrap 3]
【发布时间】:2015-10-01 17:24:59
【问题描述】:

我需要删除一些divdiv below that div 之间的空格。如果某个 div 比列中的其他 div 高,则会创建空间。

示例如下:

http://www.bootply.com/Hc2aO5o4bG

基本上,我需要删除1. and 4. 帖子和2. and 5. 之间的空格,以及下方有空格的其他帖子。

还应按此顺序发布:

1. 2. 3.
4. 5. 6.
7. .....

这是我想要完成的:

【问题讨论】:

  • 看看这个,看起来是一个有效的解决方案responsive columns of same height
  • 在显示它们之前使用列并重新组织 div(帖子)的内容怎么样?

标签: php jquery html css twitter-bootstrap-3


【解决方案1】:

4之前给个明确的:

<div class="col-xs-12 col-md-4 hover">
  <!-- post thumbnail -->
  <!-- /post thumbnail -->
  <div class="content">
    <h4><a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/" title="IQ test [PHP &amp; MySQL]">IQ test [PHP &amp; MySQL]</a></h4> 
    <p>
    </p><p>We have 4 columns: iq_id, iq_pitanje, iq_odgovor and iq_tacan. iq_tacan contains true answer.</p>                                            <a class="post-edit-link" href="http://tuts.masterize.me/wp-admin/post.php?post=1284&amp;action=edit">Edit This</a>                                            <p></p>
  </div>
  <a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/">
    <div class="link">
      <i class="fa fa-link"></i>
    </div>
  </a>
</div>
<div class="col-xs-12 col-md-4 hover">
  <!-- post thumbnail -->
  <!-- /post thumbnail -->
  <div class="content">
    <h4><a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/" title="IQ test [PHP &amp; MySQL]">IQ test [PHP &amp; MySQL]</a></h4> 
    <p>
    </p><p>We have 4 cssssssssssssssssssssssssssssssssssss
    ssssssssssssssssssssssssssssssssssssssssolumns: iq_id, iq_pit
    anje, iq_odgovor and iq_tacan. iq_tacan contains true answer.</p>                                            <a class="post-edit-link" href="http://tuts.masterize.me/wp-admin/post.php?post=1284&amp;action=edit">Edit This</a>                                            <p></p>
  </div>
  <a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/">
    <div class="link">
      <i class="fa fa-link"></i>
    </div>
  </a>
</div>
<div class="col-xs-12 col-md-4 hover">
  <!-- post thumbnail -->
  <!-- /post thumbnail -->
  <div class="content">
    <h4><a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/" title="IQ test [PHP &amp; MySQL]">IQ test [PHP &amp; MySQL]</a></h4> 
    <p>
    </p><p>We have 4 columns: iq_id, iq_pitanje, iq_odgovor and iq_tacan. iq_tacan contains true answer.</p>                                            <a class="post-edit-link" href="http://tuts.masterize.me/wp-admin/post.php?post=1284&amp;action=edit">Edit This</a>                                            <p></p>
  </div>
  <a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/">
    <div class="link">
      <i class="fa fa-link"></i>
    </div>
  </a>
</div>
<div class="clear"></div>
<div class="col-xs-12 col-md-4 hover">
  <!-- post thumbnail -->
  <!-- /post thumbnail -->
  <div class="content">
    <h4><a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/" title="IQ test [PHP &amp; MySQL]">IQ test [PHP &amp; MySQL]</a></h4> 
    <p>
    </p><p>We have 4 columns: iq_id, iq_pitanje, iq_odgovor and iq_tacan. iq_tacan contains true answer.</p>                                            <a class="post-edit-link" href="http://tuts.masterize.me/wp-admin/post.php?post=1284&amp;action=edit">Edit This</a>                                            <p></p>
  </div>
  <a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/">
    <div class="link">
      <i class="fa fa-link"></i>
    </div>
  </a>
</div>
<div class="col-xs-12 col-md-4 hover">
  <!-- post thumbnail -->
  <!-- /post thumbnail -->
  <div class="content">
    <h4><a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/" title="IQ test [PHP &amp; MySQL]">IQ test [PHP &amp; MySQL]</a></h4> 
    <p>
    </p><p>We have 4 columns: iq_id, iq_pitanje, iq_odgovor and iq_tacan. iq_tacan contains true answer.</p>                                            <a class="post-edit-link" href="http://tuts.masterize.me/wp-admin/post.php?post=1284&amp;action=edit">Edit This</a>                                            <p></p>
  </div>
  <a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/">
    <div class="link">
      <i class="fa fa-link"></i>
    </div>
  </a>
</div>
<div class="col-xs-12 col-md-4 hover">
  <!-- post thumbnail -->
  <!-- /post thumbnail -->
  <div class="content">
    <h4><a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/" title="IQ test [PHP &amp; MySQL]">IQ test [PHP &amp; MySQL]</a></h4> 
    <p>
    </p><p>We have 4 columns: iq_id, iq_pitanje, iq_odgovor and iq_tacan. iq_tacan contains true answer.</p>                                            <a class="post-edit-link" href="http://tuts.masterize.me/wp-admin/post.php?post=1284&amp;action=edit">Edit This</a>                                            <p></p>
  </div>
  <a href="http://tuts.masterize.me/2014/06/24/iq-test-php-mysql/">
    <div class="link">
      <i class="fa fa-link"></i>
    </div>
  </a>
</div>

并给出这个 CSS

.clear {
  clear: both;
}

从技术上讲,在您的情况下,您必须每三行提供一次.clear

预览:http://www.bootply.com/uC3qzah3f9


对于动态解决方案:

/* Start Praveen's Reset for Fiddle ;) */
* {font-family: 'Segoe UI'; margin: 0; padding: 0; list-style: none; -webkit-box-sizing: border-box; -moz-box-sizing: border-box; box-sizing: border-box;}
/* End Praveen's Reset for Fiddle ;) */
.posts {overflow: hidden;}
.posts .post {border: 1px solid #999; padding: 10px; text-align: center; width: 32%; margin: 0.5%; float: left;}
.posts .post:nth-child(3n+4):before {clear: both; display: block; content: " ";}
<div class="posts">
  <div class="post">Post #1</div>
  <div class="post">Post #2</div>
  <div class="post">Post #3</div>
  <div class="post">Post #4</div>
  <div class="post">Post #5</div>
  <div class="post">Post #6</div>
  <div class="post">Post #7</div>
  <div class="post">Post #8</div>
  <div class="post">Post #9</div>
  <div class="post">Post #10</div>
  <div class="post">Post #11</div>
  <div class="post">Post #12</div>
  <div class="post">Post #13</div>
  <div class="post">Post #14</div>
  <div class="post">Post #15</div>
</div>

在上述情况下,您需要手动更改 CSS:(3n + 4)。我给了+ 4 不包括第一个孩子。

【讨论】:

  • 但是当动态添加帖子时,我如何知道clear 的位置?
  • @VladimirDjukic 要么你需要在服务器端有一个计数器,要么你需要一次只输出三行。否则我有另一个我正在工作的解决方案。给我一些时间。
  • 在上述情况下,您需要手动更改 CSS:(3n + 4)。我给 + 4 以不包括第一个孩子。
  • 但是这个问题我不知道在哪里 clear 因为空间可以在任何帖子之前...例如,如果我在 3 上添加额外的高度。帖子也会腾出空间:@ 987654322@ ...
  • 你是说所有帖子的高度都应该一样吗?
【解决方案2】:

你应该用&lt;div class="row"&gt;&lt;/div&gt;:http://getbootstrap.com/css/#grid包装你的行

您还可以将 min-height 属性设置为 141px 之类的值,以便边框对齐。

【讨论】:

  • 我并不是说将所有的 div 包装在一行中。但是,您使用的类 col-md-4 col-xs-12 具有特定用途。使用 .row 对列进行水平分组。默认情况下,行加起来应为 12,因此在您的情况下,无论在移动设备(col-xs-12)上如何,它们都会堆叠,并且在中型和大型设备上为 3 到水平行(因为您没有 col-lg- *)。我链接到解释如何使用引导网格的文档。
  • 我知道你现在想要完成什么。 Bootstrap 不会处理这个问题。试试像masonry.desandro.com这样的砌体框架@
  • 这个很有用,我会试试的。谢谢
猜你喜欢
  • 1970-01-01
  • 2021-03-19
  • 2021-04-24
  • 2018-08-16
  • 2013-07-20
  • 2014-01-11
  • 2012-05-28
  • 2017-04-06
  • 2018-11-03
相关资源
最近更新 更多