使所有高度相同,并以CSS网格为中心

发布于 2025-02-02 16:20:01 字数 1635 浏览 0 评论 0原文

使用CSS网格,我知道:

  • 如何使所有高度的所有项目(下面的示例1)
  • 如何垂直以垂直为中心(示例2)

,但如何同时制作两者:所有项目的高度相同(用于示例1 fr)和文本是垂直中心的吗?

我已经读过我如何在CSS网格布局中指定行高度?中心在CSS网格中,但在这里似乎特定于align-items:center;

注意:我想避免将网格flexbox或非网格解决方案(例如我如何(水平和垂直)在DIV块内(水平和垂直)中心文本?

请参阅示例:

.grid1 { display: grid; grid-template-rows: repeat(2, 1fr); 
         grid-template-columns: repeat(4, 1fr); grid-gap: 2em;  }
.grid2 { display: grid; grid-template-rows: repeat(2, 1fr); 
         grid-template-columns: repeat(4, 1fr); grid-gap: 2em; align-items: center; }
.item { background-color: yellow; }
<div class="grid1">
<div class="item">
ABCABCABCABCABC
</div>
<div class="item">
DEFDEFDEFDEFDEF
</div>
<div class="item">
GHIGHIGHIGHIGHI
JKLJKLJKLJKLJKL
</div>
</div>
<br><br><br>
<div class="grid2">
<div class="item">
ABCABCABCABCABC
</div>
<div class="item">
DEFDEFDEFDEFDEF
</div>
<div class="item">
GHIGHIGHIGHIGHI
JKLJKLJKLJKLJKL
</div>
</div>

With CSS grid, I know:

  • how to make all items of same height (example 1 below)
  • how to text items centered vertically (example 2)

But how to make both at the same time: same height for all items (for example 1 fr) and the text is vertically centered?

I have already read How do I specify row heights in CSS Grid layout? and Centering in CSS Grid, but here it seems specific to the align-items: center;.

Note: I would like to avoid mixing grid with flexbox or non-grid solutions like How can I center text (horizontally and vertically) inside a div block?.

See examples:

.grid1 { display: grid; grid-template-rows: repeat(2, 1fr); 
         grid-template-columns: repeat(4, 1fr); grid-gap: 2em;  }
.grid2 { display: grid; grid-template-rows: repeat(2, 1fr); 
         grid-template-columns: repeat(4, 1fr); grid-gap: 2em; align-items: center; }
.item { background-color: yellow; }
<div class="grid1">
<div class="item">
ABCABCABCABCABC
</div>
<div class="item">
DEFDEFDEFDEFDEF
</div>
<div class="item">
GHIGHIGHIGHIGHI
JKLJKLJKLJKLJKL
</div>
</div>
<br><br><br>
<div class="grid2">
<div class="item">
ABCABCABCABCABC
</div>
<div class="item">
DEFDEFDEFDEFDEF
</div>
<div class="item">
GHIGHIGHIGHIGHI
JKLJKLJKLJKLJKL
</div>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文