如何使用Materializecss实现Material Design的网格列表

问题描述:

我正在Angular中构建Web应用程序。我一直在MaterializecssAngular Material之间来回走动。总的来说,我更喜欢Materialisecss,我使用Angular2-Materialize。唉,Materializecss尚未实现网格列表,我想知道如何使用Materializecss和Angular来实现它们吗? Idealy,我正在寻找一个不使用JQuery的解决方案。如何使用Materializecss实现Material Design的网格列表

我想我会想出每行的嵌套循环,但我从来没有意识到,在Materializecss的网格系统中,它看起来像是如果添加更多的列比行通常可以包含(12),cols会实际上包裹下面。它将全部仍然包含在同一行元素中,但从视觉上看,您将得到一个整齐格式化的网格。例如,这是我的HTML。

<div class="container"> 
    <div class="row"> 
    <div class="col s2" *ngFor="let card of cards"> 
     <div class="card small"> 
     <div class="card-image"> 
      <img src="..."> 
      <span class="card-title">Card Title</span> 
     </div> 
     <div class="card-content"> 
     <p>{{card}}</p> 
     </div> 
     <div class="card-action"> 
     <a href="#">This is a link</a> 
     </div> 
    </div> 
    </div> 
</div> 

正如你所看到的,没有嵌套的循环。只是列元素上的一个循环。

你应该看看这个NPM包! https://www.npmjs.com/package/materialize-grid-list

HTML和CSS例如:

$('.grid-list').materialGrid(); 

<div class="grid-list"> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/1.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/2.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/3.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/4.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/5.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/6.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/7.png"/></a> 
     </div> 
    </div> 
    <div class="grid-cell"> 
     <div class="grid-tile"> 
      <a href="#!"><img class="responsive-img" src="img/8.png"/></a> 
     </div> 
    </div> 
</div> 

然后通过调用jQuery插件