如何将元素放在CSS网格的最后一行?

编程入门 行业动态 更新时间:2024-10-09 13:33:09
本文介绍了如何将元素放在CSS网格的最后一行?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

#container {display:grid; grid-template-columns:16.666%16.666%16.666%16.666%16.666%16.666%;} item {background:teal;白颜色; padding:20px; margin:10px;}

< div id =container > < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item> Item< / div>< / div>

我怎样才能得到最后一排居中,而不是左对齐?我不能保证物品的数量,所以想要使布局看起来正确的任何数量的项目。

这是我应该使用flexbox代替?或者是CSS的网格是一个合适的使用?我认为最简单的解决方案将使用flexbox与 justify-content:center 。

这包所有行在水平中心的项目。然后你的利润率将它们分开。

在完全填充的行上, justify-content 一个href =stackoverflow/q/35817096/3597276>有没有可用的空间工作。

在行自由空间(在你的情况,只有最后一行),发生居中。

#container {display:flex; flex-wrap:wrap; justify-content:center;}。item {flex:0 0 calc(16.66% - 20px);背景:蓝绿色;白颜色; padding:20px; margin:10px;} * {box-sizing:border-box;}

< div id =container> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item>项目< / div> < div class =item> Item< / div>< / div>

I am using CSS grid to layout some items like this...

#container { display: grid; grid-template-columns: 16.666% 16.666% 16.666% 16.666% 16.666% 16.666%; } .item { background: teal; color: white; padding: 20px; margin: 10px; }

<div id="container"> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> </div>

How can I get the last row to be centered instead of left aligned? I can't guarantee the number of items so want to make the layout look right for any number of items.

Is this something I should be using flexbox for instead? Or are CSS grids a suitable use?

解决方案

I think the simplest solution would be to use flexbox with justify-content: center.

This packs all items in the horizontal center of the row. Then your margins push them apart.

On fully-filled rows, justify-content will have no effect since there's no free space for it to work.

On rows with free space (in your case, only the last row), centering occurs.

#container { display: flex; flex-wrap: wrap; justify-content: center; } .item { flex: 0 0 calc(16.66% - 20px); background: teal; color: white; padding: 20px; margin: 10px; } * { box-sizing: border-box; }

<div id="container"> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> <div class="item">Item</div> </div>

更多推荐

如何将元素放在CSS网格的最后一行?

本文发布于:2023-07-09 10:37:02,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1085656.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:放在   网格   如何将   元素   CSS

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!