简体   繁体   English

CSS网格行高

[英]CSS Grid Row Height

I have a grid that is being populated by an API in a loop. 我有一个由API循环填充的网格。 I have 4 rows of 5 elements. 我有5个元素的4行。 I have been able to get the column widths correct but am struggling with adjusting individual column heights. 我已经能够获得正确的列宽,但是在调整各个列的高度时却遇到了困难。

I would like the 3rd element of each row to take up 2 rows in height and all others to take up only one. 我希望每行的第3个元素占用2行的高度,而其他所有元素仅占用1行。

Here is what I have for HTML/CSS so far: 到目前为止,这是我对HTML / CSS的了解:

 .feedContain { display: grid; grid-template-columns: repeat(2, minmax(auto, 1fr)) minmax(auto, 2fr) repeat(2, minmax(auto, 1fr)); grid-template-rows: auto; grid-column-gap: 20px; grid-row-gap: 20px; } .feedContain .news-item { min-height: 100px; background-color: #cccccc; } 
 <div class="feedContain"> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> </div> 

All elements have the class of .news-item. 所有元素都具有.news-item类。

There should be 4 rows but the center elements (there should only be 2) should span 2 rows each. 应该有4行,但是中心元素(应该只有2行)每个应该跨越2行。

Is there a way to do this? 有没有办法做到这一点?

Yes it seems I found the solution on my own. 是的,看来我自己找到了解决方案。 Here was my fix: 这是我的解决方法:

 .feedContain{ display: grid; grid-template-columns: repeat(2, minmax(auto, 1fr)) minmax(auto, 2fr) repeat(2, minmax(auto, 1fr)); grid-template-rows: auto; grid-column-gap: 20px; grid-row-gap: 20px; } .feedContain .news-item{ min-height: 100px; background-color: #cccccc; } .socialB .feedContain .news-item:nth-child(3), .socialB .feedContain .news-item:nth-child(8) { grid-column: 3/4; } .socialB .feedContain .news-item:nth-child(3) { grid-row: 1/3; } .feedContain .news-item:nth-child(8) { grid-row: 3/5; } 
 <div class="feedContain"> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> <div class="news-item"></div> </div> 

This seems to be the least insane solution ;) 这似乎是最疯狂的解决方案;)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM