在整个行/列上对齐网格项目(就像弹性项目一样)

2023-12-11

使用柔性容器和flex-wrap: wrap设置您可以使用将溢出的项目对齐到中心justify-content: center.

有没有办法使用 CSS 网格实现溢出网格项的相同行为?

我创建了一支显示所需弯曲行为的笔

.container-flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.container-flex .item {
  width: 33.33%;
  background: green;
  border: 1px solid;
}

.container-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.container-grid .item {
  background: red;
  border: 1px solid;
}

* {
  box-sizing: border-box;
}
<h3>Flex</h3>
<div class="container-flex">
  <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>

<h3>Grid</h3>
<div class="container-grid">
  <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>

https://codepen.io/JoeHastings/pen/PeEjjR


Flex 和 Grid 是不同的动物,因此在 Flex 中简单的行为可能无法很好地转化为网格。

弹性项目可以在容器中居中,因为弹性布局可以与柔性线。柔性线是不相交行或列。

当弹性项目被要求在弹性行中居中时,它可以访问整行上的可用空间。这使得居中变得简单和容易。

然而,在网格布局中,有轨道,它们是相交行和列。例如,在您的布局中有三列。这些列穿过行,将其分为三个独立的部分,并且网格项被限制在一个部分中。

因此,网格项无法使用关键字对齐属性(例如justify-content or justify-self)因为相交的轨道限制了运动。

可以使网格区域跨越整个行/列,然后清除整个轨道的道路,允许网格项目水平居中(justify-content: center)或垂直(align-self: center), but 此行为必须明确定义.

对于要在动态布局中跨行居中的网格项,容器只需要有一列,或者需要使用类似的方法将项目显式移动到中心基于行的布局。否则,请使用弹性盒。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在整个行/列上对齐网格项目(就像弹性项目一样) 的相关文章

  • 如何使用 Angular 创建 n 个可打印页面?

    嗯 我搜索了一下 没有找到类似的东西 我想知道如何使用 Angular 创建可打印内容 跳转到页面末尾并打印更多内容 如何强制内容始终适合特定尺寸 例如 PDF 我需要 Angular 来执行此操作吗 如果不是 HTML 我可以迭代 PDF
  • 为什么table-layout:fixed会影响父元素的宽度?

    有人可以解释为什么我的div with table layout fixed正在改变其父元素的宽度 body在本例中 使其在不应该是 100 的情况下达到 100 因为它已经定位了 body border 2px solid red hei
  • Bootstrap 按钮的检查状态

    我想在 Bootstrap 3 0 2 中设置组复选框的选中状态 docs http getbootstrap com javascript buttons html div class btn group div
  • 如何在绝对定位的 div 内用 CSS 创建粘性页脚?

    我想创建一个粘性页脚inside绝对定位的 div 元素 我的方法是将页脚 div 也绝对定位 在另一个相对定位的 页面 div 内 其中包含页面的实际内容 div class content div class page Some Lor
  • 设置绝对仓位和保证金

    我想设置一个元素的position to absolute并有一个margin bottom 但似乎margin bottom没有效果 HTML div div CSS container border 1px solid red posi
  • HTML CSS 循环协助

    希望你能帮忙 我想知道您是否可以在循环中创建以下类型 你知道这是否可能吗 body background 000 DEMO SPECIFIC STYLES typewriter h1 color fff font family Bebas
  • 如何让 ExtJS ComboBox 与文本一起显示?

    我想让以下内容显示在一行中 我尝试过使用样式浮动和显示 Show this input
  • 等高列并将最后一项与底部对齐

    我有一个列表 其中每个li有嵌套容器 我尝试为所有列表项保留相同的高度 并将最后一个 div 推到底部 我将如何使用 flex 来做到这一点 ul list container display inline flex justify con
  • 使用 flex 将项目与底部对齐

    我正在尝试使用 flex 将父级内部的项目与父级底部对齐 但由于某种原因它不起作用 我究竟做错了什么 login border 1px solid red height 50px display flex login border radi
  • 如何居中对齐数据表标题

    我是数据表新手 当我制作表格标题时 它总是左对齐 如何将标题设置为居中对齐 我已阅读 datatables net manual styling classes 和 datatables net reference option colum
  • 固定 Div 与静态 div 的滚动条重叠

    我无法按照我想要的方式设计布局 我有一个内容区 content 您可以在示例图像中看到的灰色 里面有一个黄色元素 这个div是position static height 100 现在我有一个 left paneldiv 也 与positi
  • 如何在 CSS 中将 RadioButton 图标样式设置为无(在 Flex 3 中)?

    您可以通过在 CSS 中设置以下值来在 Flex 中设置 RadioButton 的外观 upSkin Embed overSkin Embed ownSkin Embed disabledSkin Embed selectedUpSkin
  • 如何使用CSS缩放图像以填充div并保持纵横比?

    我想用一个 div 填充img 保持纵横比并根据需要拉伸宽度或高度以适应 div style width 80px height 80px img src div 我怎样才能实现它 如果图像不是二次方的 则必须将其 放大 并根据哪一侧较大而
  • CSS 边框样式 INSET 或 GROOVE 看起来与 IE9 FF4 或 Safari5 或 Chrome2 非常不同

    抱歉 我是个白痴 但是当我尝试获得某种凹槽效果或插入效果作为边框样式时 我从不同的浏览器中得到了一些非常非常大的视觉结果 使用时 border 5px groove A00 or border 5px inset A00 Firefox 3
  • Chrome 19 无法识别字体粗细:较轻

    我刚刚启动了一个正在开发的项目以进行一些修改 并注意到该声明font weight lighter正在通过以下方式提供服务 font face并且它不再在网站上运行 参见图片 顶部镀铬 底部 ff 自昨晚以来 我的系统 Windows 上没
  • 如何在 Rails 5 中设置资产管道以使用自定义字体?

    我必须使用自定义字体贾米尔 努里 纳斯塔莱克 http www urdujahan com urdu fonts Jameel 20Noori 20Nastaleeq zip在 Rails 5 应用程序中 我以前从未使用过 Rails 中的
  • Bootstrap 4 移动导航栏消失

    我刚刚从 Bootstrap 3 转换为 Bootstrap 4 但我的移动导航栏出现问题 使用切换按钮展开导航栏时 导航消失 我不明白为什么会发生这种情况 导航栏下方有一个大屏幕 但整个移动导航向上移动 如下面的 gif 所示 以下是导航
  • Svelte 条件元素类报告为语法错误

    我正在做一个if块每if 块的精简指南 https svelte technology guide if blocks 这看起来很简单 但 Svelte 认为这是一个语法错误 svelte plugin ParseError Unexpec
  • 选择子元素但不选择孙元素

    我有以下简化的代码 div p text p div div p text p div div p text p div div p text p div 每当我设置一些值时 content pCSS 文件中的元素 更改也适用于 col1
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h

随机推荐

  • CopyFileEx 具有多个文件,但只有一个复制对话框

    我已经在网络和 stackoverflow 上搜索过这个 我想将多个文件从多个源复制到多个目标 我还没有为 UnauthorizedAccessExceptions 烦恼 这些文件很可能无论如何都不会被使用 我可以使用 CopyFileEx
  • 如何在 VBA 中从两个范围创建一个范围?

    我有两个范围 每个范围包含一个单元格 例如 A1 和 C3 如何获得包含这两个之间的所有单元格的新范围 A1 C3 我试过这个 Set NewRange Range Range1 Address Range2 Address 另外 如何设置
  • 如何根据最后一个命令的退出代码更改 bash 提示颜色?

    如果之前的退出代码为 0 我想显示绿色笑脸 如果不成功则显示红色笑脸 基本上我想做这个提示 但还包括其他东西 PS1 u h w if 0 then echo e 32m e 37m else echo e 31m e 37m fi 我想将
  • org.hibernate.PersistentObjectException:传递给持久化的分离实体

    我已经成功地用 hibernate 编写了我的第一个主子示例 几天后我又拿了它并升级了一些库 不知道我做了什么 但我再也无法让它运行了 有人可以帮我找出返回以下错误消息的代码有什么问题吗 org hibernate PersistentOb
  • 将负数分配给无符号整数?

    在 C 编程语言中 unsigned int仅用于存储正值 但是 当我运行以下代码时 unsigned int x 12 printf d x 输出仍然是 12 我认为它应该打印出 12 或者我误解了什么 The 12等号右侧设置为有符号整
  • Vega-lite 条形图条形之间的空间

    D3新手 如何调整 vega lite 条形图中条形之间的间距并覆盖默认值 binSpacing 我认为只适用于直方图 请参阅下面的代码 我也想调整文本和字体系列的颜色 但我在文档中找不到它 schema https vega github
  • 如何获取转换后的 Windows 应用商店 UWP 应用程序的故障转储(或任何可用的故障报告)?

    我向 Windows 10 Store 提交了我的nativeWin32 应用程序是转换为 UWP应用程序使用Project Centennial转换器 该应用程序通过了商店认证 可以通过私人链接使用 当我测试它时 在运行我的测试时 应用程
  • 从 Android 内存读取 SQLITE 数据库

    我在 Java 应用程序上创建了一个 sqlite 数据库 并将其推送到我的 android 上 我想读取这个数据库 可能稍后也会写入 到目前为止 我发现的大多数教程都是在 android 中创建数据库 我认为我不需要重写 SQLiteOp
  • Rhinomocks - 嘲笑代表

    public interface IServiceInvoker R InvokeService
  • 如何在 Ruby 中创建用于深度复制/克隆对象的运算符?

    我想通过引入一个新的运算符来实现以下目标 例如 a b b 1 2 p a gt p b gt 1 gt 2 据我了解 我需要修改Object类 但我不知道该怎么做才能得到我想要的东西 require superators class Ob
  • 在 Javascript 中对日/月数组进行排序

    我正在尝试按从最新到最旧的顺序对日期数组进行排序 不幸的是 list sort 默认情况下 仅对第一个数字进行排序 我的数组如下所示 var MyArray 13 Jun 09 Jun 25 Aug 30 Jun 13 Aug 我尝试创建一
  • 如何使我的游戏引擎更快(GDI+、C#)

    我目前正在使用 GDI 用 C 构建 2D 游戏引擎 我确实知道有更好的 GDI 替代品 但我也已经深入到这个项目中 现在无法回头 因此 我目前有一个图形引擎 它可以根据我的相机位置和窗口大小来渲染位图的一部分 这给了我很大的性能提升 伟大
  • db.collectionNames 在 Node.js 中不起作用

    我想检查 Node js 中是否存在集合 我使用 db collectionNames 获取数据库中的名称列表 但什么也没发生 代码 connectDB DBURL then function db console log db conne
  • 检查套接字文件描述符是否可用?

    如果我有一个文件描述符 套接字 fd 如何检查该 fd 是否可用于读 写 在我的情况下 客户端已连接到服务器并且我们知道 fd 但是 服务器会断开套接字 有什么线索可以检查吗 你要fcntl 检查 fd 上的读 写设置 include
  • 如何从数据集中的存储过程返回表名

    我使用一个数据集来存储加载时需要的 15 个表 当我使用存储过程填充所有表时 它会返回所有表 但表的名称并不与数据库中的实际表名称相同 它获取所有表名为Table1 Table2 Table3 的表 我希望它们的名称与表中实际的名称相同 S
  • 当子元素具有背景颜色并且浏览器缩小小于 100% 时,CSS 边框消失

    我有一个带有 1px 边框的元素和一个具有背景颜色的子元素 当我将浏览器的缩放比例缩小到 70 80 时 会导致父元素的边框消失 我注意到 PC 上的 Chrome 和 IE11 中会出现这种情况 但 MacBook Pro 上的 Chro
  • 比较不同大小的数组而不使用任何循环

    问题是这样的 给定两个数组 a b 均为正整数 A special number是一个数字a i i 该值等于索引 如何检查数组是否b包含一个值 该值是special number of a 例如 a 9 9 3 9 b 3 4 5 输出将
  • 如何使用 R 模拟给定分布中大小为 n 的 m 个随机样本?

    我知道如何从标准统计分布 例如指数分布 生成大小为 n 的随机样本 但是 如果我想生成 m 个大小为 n 的随机样本 即 m 个维度为 n 的向量 我该怎么做呢 创建一个n by m矩阵包含m样本尺寸n您可以使用 x lt replicat
  • java 文件名中的特殊字符

    我正在尝试编写一个文件名中包含特殊字符的文件 例如 t mp3 但文件名始终保留为 相反 字符 我尝试了几种方法 但没有找到解决方案 String musicName new String t mp3 getBytes UTF 8 Outp
  • 在整个行/列上对齐网格项目(就像弹性项目一样)

    使用柔性容器和flex wrap wrap设置您可以使用将溢出的项目对齐到中心justify content center 有没有办法使用 CSS 网格实现溢出网格项的相同行为 我创建了一支显示所需弯曲行为的笔 container flex