2015-08-20 21 views
0

早上好,我有一个要求在3列布局上有一个“pinterest”风格的页面。每一列的高度都相同,但是当我们“显示/隐藏”内容时,我们只希望展开该列,但是这些列将以某种方式进行展开,然后重新排序。我知道这是列计数应该如何工作,但无论如何强迫列留在原地?使用列数与集成显示/隐藏移动列左右

http://jsfiddle.net/2joLm7y9/

#columns { 
-webkit-column-fill: balance; 
-moz-column-fill: balance; 
column-fill: balance; 

我试图改变列填补自动平衡,但似乎并没有工作。点击1可以正常工作,但我认为这是因为隐藏的内容在玩完后不会很长时间。

回答

0

$(".toggleDisplay").click(function() { 
 
       $(this).children(".display_none").toggle("slow"); 
 
      });
body { 
 
\t background: url(http://subtlepatterns.com/patterns/scribble_light.png) ; 
 
} 
 

 
#wrapper { 
 
\t width: 90%; 
 
\t max-width: 1100px; 
 
\t min-width: 800px; 
 
\t margin: 50px auto; 
 
} 
 

 
#columns { 
 
\t -webkit-column-count: 3; 
 
\t -webkit-column-gap: 10px; 
 
\t -webkit-column-fill: auto; 
 
\t -moz-column-count: 3; 
 
\t -moz-column-gap: 10px; 
 
\t -moz-column-fill: auto; 
 
\t column-count: 3; 
 
\t column-gap: 15px; 
 
\t column-fill: auto; 
 
} 
 

 
.pin { 
 
\t display: inline-block; 
 
\t background: #FEFEFE; 
 
\t border: 2px solid #FAFAFA; 
 
\t box-shadow: 0 1px 2px rgba(34, 25, 25, 0.4); 
 
\t margin: 0 2px 15px; 
 
\t -webkit-column-break-inside: avoid; 
 
\t -moz-column-break-inside: avoid; 
 
\t column-break-inside: avoid; 
 
\t padding: 15px; 
 
\t padding-bottom: 5px; 
 
\t background: -webkit-linear-gradient(45deg, #FFF, #F9F9F9); 
 
\t opacity: 1; 
 
\t 
 
\t -webkit-transition: all .2s ease; 
 
\t -moz-transition: all .2s ease; 
 
\t -o-transition: all .2s ease; 
 
\t transition: all .2s ease; 
 
} 
 

 
.pin img { 
 
\t width: 100%; 
 
\t border-bottom: 1px solid #ccc; 
 
\t padding-bottom: 15px; 
 
\t margin-bottom: 5px; 
 
} 
 

 
.pin p { 
 
\t font: 12px/18px Arial, sans-serif; 
 
\t color: #333; 
 
\t margin: 0; 
 
} 
 

 
@media (min-width: 960px) { 
 
\t #columns { 
 
\t \t -webkit-column-count: 4; 
 
\t \t -moz-column-count: 4; 
 
\t \t column-count: 4; 
 
\t } 
 
} 
 

 
@media (min-width: 1100px) { 
 
\t #columns { 
 
\t \t -webkit-column-count: 5; 
 
\t \t -moz-column-count: 5; 
 
\t \t column-count: 5; 
 
\t } 
 
} 
 

 

 
.display_none {display:none;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="wrapper"> 
 
\t <div id="columns"> 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/2/2v3VhAp.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
 
\t \t \t \t Sed feugiat consectetur pellentesque. Nam ac elit risus, 
 
\t \t \t \t ac blandit dui. Duis rutrum porta tortor ut convallis. 
 
\t \t \t \t Duis rutrum porta tortor ut convallis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 1</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/1/1swi3Qy.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Donec a fermentum nisi. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 2</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/6/6f3nXse.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Nullam eget lectus augue. Donec eu sem sit amet ligula 
 
\t \t \t \t faucibus suscipit. Suspendisse rutrum turpis quis nunc 
 
\t \t \t \t convallis quis aliquam mauris suscipit. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 3</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/8/8kEc1hS.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Nullam eget lectus augue. Donec eu sem sit amet ligula 
 
\t \t \t \t faucibus suscipit. Suspendisse rutrum turpis quis nunc 
 
\t \t \t \t convallis quis aliquam mauris suscipit. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 4</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/1/1swi3Qy.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Donec a fermentum nisi. Integer dolor est, commodo ut 
 
\t \t \t \t sagittis vitae, egestas at augue. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 5</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/6/6f3nXse.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
 
\t \t \t \t Sed feugiat consectetur pellentesque. Nam ac elit risus, 
 
\t \t \t \t ac blandit dui. Duis rutrum porta tortor ut convallis. 
 
\t \t \t \t Duis rutrum porta tortor ut convallis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 6</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> \t 
 
\t \t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/2/2v3VhAp.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Nullam eget lectus augue. Donec eu sem sit amet ligula 
 
\t \t \t \t faucibus suscipit. Suspendisse rutrum turpis quis nunc 
 
\t \t \t \t convallis quis aliquam mauris suscipit. 
 
\t \t \t \t Duis rutrum porta tortor ut convallis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 7</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/1/1swi3Qy.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Nullam eget lectus augue. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 8</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/8/8kEc1hS.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
 
\t \t \t \t Sed feugiat consectetur pellentesque. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 9</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/2/2v3VhAp.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Donec a fermentum nisi. Integer dolor est, commodo ut 
 
\t \t \t \t sagittis vitae, egestas at augue. Suspendisse id nulla 
 
\t \t \t \t ac urna vestibulum mattis. Duis rutrum porta tortor ut convallis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 10</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/1/1swi3Qy.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Donec a fermentum nisi. Integer dolor est, commodo ut 
 
\t \t \t \t sagittis vitae, egestas at augue. Suspendisse id nulla 
 
\t \t \t \t ac urna vestibulum mattis. 
 
\t \t \t </p> 
 
      
 
      <div class="toggleDisplay"> 
 
           <button>Click 11</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/6/6f3nXse.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
 
\t \t \t \t Sed feugiat consectetur pellentesque. Nam ac elit risus, 
 
\t \t \t \t ac blandit dui. Duis rutrum porta tortor ut convallis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 12</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> \t 
 
\t \t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/2/2v3VhAp.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Donec a fermentum nisi. Integer dolor est, commodo ut 
 
\t \t \t \t sagittis vitae, egestas at augue. Suspendisse id nulla 
 
\t \t \t \t ac urna vestibulum mattis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 13</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/1/1swi3Qy.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Donec a fermentum nisi. Integer dolor est, commodo ut 
 
\t \t \t \t sagittis vitae, egestas at augue. Suspendisse id nulla 
 
\t \t \t \t ac urna vestibulum mattis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 14</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t 
 
\t \t <div class="pin"> 
 
\t \t \t <img src="http://cssdeck.com/uploads/media/items/6/6f3nXse.png" /> 
 
\t \t \t <p> 
 
\t \t \t \t Lorem ipsum dolor sit amet, consectetur adipiscing elit. 
 
\t \t \t \t Sed feugiat consectetur pellentesque. Nam ac elit risus, 
 
\t \t \t \t ac blandit dui. Duis rutrum porta tortor ut convallis. 
 
\t \t \t </p> 
 
      <div class="toggleDisplay"> 
 
           <button>Click 15</button> 
 
            <div class="display_none"> 
 
            <p>Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae. Donec a fermentum nisi. Integer dolor est, commodo ut sagittis vitae.</p> 
 
            </div> 
 
          </div> 
 
\t \t </div> 
 
\t </div> 
 
</div>

+0

它仍然重新排序的箱子,如果他们延长以往任何盒子的底部到它的左边或右边。如果您将副本添加到显示/隐藏中,您会看到我的意思...... –