如何定位 CSS 网格布局中的特定列或行?

2024-01-23

是否可以使用 CSS 选择特定的网格列或行?

例如,假设我有一个 3 行 x 2 列的 CSS 网格布局:grid-template-rows: 1fr 1fr 1fr; grid-template-columns: 1fr 1fr;。我如何从第二列中选择所有元素?例如:grid:nth-child(column:2)(只是我的想法,不是有效的代码)。

我努力了nth-child选择器上的div元素,但是当 CSS 网格布局引擎自动放置项目时,这不允许我指定行或列。

body {
  display: grid;
  grid-template-rows: 1fr 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  grid-gap: 10px;
}

.item {
  background: #999;
}
<div class="item">
  <p>Customer Name</p>
  <p>Element 1 | Element 2</p>
</div>

<div class="item">
  <p>Right Justify</p>
  <p>Element 1 | Element 2</p>
</div>

<div class="item">
  <p>Customer Name</p>
  <p>Element 1 | Element 2</p>
</div>

<div class="item">
  <p>Customer Name</p>
  <p>Element 1 | Element 2</p>
</div>
<div class="item">
  <p>Customer Name</p>
  <p>Element 1 | Element 2</p>
</div>
<div class="item">
  <p>Customer Name</p>
  <p>Element 1 | Element 2</p>
</div>
<div class="item">
  <p>Customer Name</p>
  <p>Element 1 | Element 2</p>
</div>

要设置任意行的样式,您可以使用包装元素及其display set to contents。请参阅下面的代码片段:

.grid-container {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  grid-gap: 2px;
}

.grid-item {
  border: 1px solid black;
  padding: 5px;
}

.grid-row-wrapper {
  display: contents;
}

.grid-row-wrapper > .grid-item {
  background: skyblue;
}
<div class="grid-container">
  <div class="grid-item">1</div>
  <div class="grid-item">2</div>
  <div class="grid-item">3</div>
  <div class="grid-item">4</div>
  <div class="grid-item">5</div>
  <div class="grid-row-wrapper">
    <div class="grid-item">6</div>
    <div class="grid-item">7</div>
    <div class="grid-item">8</div>
    <div class="grid-item">9</div>
    <div class="grid-item">10</div>
  </div>
  <div class="grid-item">11</div>
  <div class="grid-item">12</div>
  <div class="grid-item">13</div>
  <div class="grid-item">14</div>
  <div class="grid-item">15</div>
  <div class="grid-item">16</div>
  <div class="grid-item">17</div>
  <div class="grid-item">18</div>
  <div class="grid-item">19</div>
  <div class="grid-item">20</div>
</div>

与所有实现一样,您应该检查以确保它在您的目标环境中工作。您可以查看兼容性表MDN https://en.wikipedia.org/wiki/MDN_Web_Docs or 我可以用吗 https://caniuse.com/#info_about为支持display: contents:

  • display https://developer.mozilla.org/en-US/docs/Web/CSS/display#Browser_compatibility (MDN)
  • 我可以使用显示:内容吗 https://caniuse.com/#search=display%3A%20contents(需要 JavaScriptcaniuse.com)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何定位 CSS 网格布局中的特定列或行? 的相关文章

随机推荐

  • 自定义节样式在sectionList REACT NATIVE中

    你知道如何在React native的sectionList组件中制作水平部分 特定的 吗 我想让第二部分水平 我尝试使用 flex 1 和 flexDirection row 修改 renderItem 中的项目样式 但不起作用 任何人都
  • 为什么 Groovy 正则表达式匹配器不能被否定?

    任何人都可以解释以下内容吗 println x x println x x result true true 没有 groovy 中的运算符 这是一个组合 and println x x 相当于 println x x 你需要的是 prin
  • 通用回调

    Extends https stackoverflow com questions 2485058 equivalent to window settimeout for c Related https stackoverflow com
  • 以编程方式更改应用程序的AppPool

    我需要更改某个网站下所有 选定应用程序的应用程序池 我的 IIS 上有所有网站和应用程序池 但我无法更改它们 有任何想法吗 这是我到目前为止所做的 这对我来说看起来很奇怪 因为只有字符串改变 而不是对象 private void Chang
  • 将 Google Closure 模板与 jQuery 结合使用

    我们开始使用 JavaScript 和 HTML5 创建一个应用程序 该应用程序将使用 REST API 来访问服务器资源 利用我们的开发团队已经熟悉的 jQuery 的强大功能和易用性 该应用程序将成为多语言版本 后来我们决定使用 Jav
  • 为 SQL Server 组合“LIKE”和“IN”[重复]

    这个问题在这里已经有答案了 是否可以合并LIKE and IN在 SQL Server 查询中 所以 这个查询 SELECT FROM table WHERE column LIKE IN Text Link Hello World 查找以
  • 如何检查该行是否在每页的第一行?

    我有要打印的数据列表 我想知道是否有任何方法可以查找该行是否是 JasperReports 报告中每个页面的第一行 有一个内置变量名 V PAGE COUNT 第 COUNT页 内置变量 包含生成当前页面时处理的记录数 对于页面上的第一条记
  • git 克隆时远端意外挂断

    My git尝试克隆存储库一段时间后 客户端反复失败并出现以下错误 这里可能有什么问题 Note 我已向 GIT 托管提供商注册了 SSH 密钥 Receiving objects 13 1309 10065 796 00 KiB 6 Ki
  • 尝试使用 Azure SDK 2.5 进行发布会导致 null-ref(对象引用未设置为对象的实例)[关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 We upgraded我们来自 SDK 2 4 的 Azure 部署项目至 SDK 2 5 该项目有两个工人角色 将 2 4 项目发布到云服
  • JUnit 测试私有变量? [复制]

    这个问题在这里已经有答案了 我被分配了对一个我从未直接使用 JUnit 进行过工作的类进行单元测试的任务 并且严格禁止更改包中的代码 这通常不是问题 因为我们的大多数单元测试只是为了功能和输入 输出一致性 这可以简单地通过运行例程并检查其返
  • 使用 Lucene SearchAfter 示例

    我正在尝试使用 Lucene 4 8 1 的 SearchAfter 方法在 Web 应用程序中实现搜索结果分页 以前曾问过类似的问题 但那里给出的接受的答案对我不起作用 Stack Overflow问题 Lucene网页分页 https
  • Android 将多个号码传递给短信意图

    我从联系人中获取不同的号码并将它们传递到短信应用程序 我正在使用以下内容 Intent intent new Intent Intent ACTION VIEW Uri parse sms numbers numbers separated
  • 如何在单元测试中模拟依赖注入对象

    我的项目需要单元测试 我在控制器中使用构造函数依赖注入 当我在单元测试项目中模拟注入的依赖项对象并在测试方法中调用它时 在所有情况下都返回 null 控制器类 public class Owner Controller private re
  • 有没有办法使用命令行从 VS 的解决方案中排除项目?

    我有一个包含 10 个项目的解决方案 并且希望在构建解决方案时排除 1 或 2 个项目 问题是我正在命令行中构建解决方案 并希望部分运行它一次 不是所有项目 下次它应该按原样运行 所有项目都将构建 我正在使用 MSBuild exe 你们中
  • 在 WordPress 安装中强制使用非 www 网址会导致无限循环

    我正在尝试重写http www 域名 http www domain to http 域名 http domain在 WordPress 安装中 但看起来它正在使 url 循环http www http www到 http 并返回到http
  • 32 - 如何克服 Android 中凭据的 Wi-Fi Direct 32 限制?

    参见 gt https android googlesource com platform frameworks base b267554 wifi java android net wifi p2p WifiP2pGroupList ja
  • 如何删除列表中的重复值(坐标)[重复]

    这个问题在这里已经有答案了 我想问一下如何删除此类列表中的重复项 ppoint 1 2 1 2 3 4 5 6 7 3 3 4 5 6 我尝试了 set 但仍然出现错误 unhashable list ppoint 1 2 1 2 3 4
  • python - While循环导致整个程序在Tkinter中崩溃

    我正在尝试运行 While 循环以便不断地做某事 目前 它所做的只是使我的程序崩溃 这是我的代码 import tkinter def a root tkinter Tk canvas tkinter Canvas root width 8
  • android getIntrinsicHeight 和 getIntrinsicWidth 是什么意思?

    嗨 我对 Android Drawable 类的两种方法感到困惑 getIntrinsicHeight getIntrinsicWidth API定义说http developer android com reference android
  • 如何定位 CSS 网格布局中的特定列或行?

    是否可以使用 CSS 选择特定的网格列或行 例如 假设我有一个 3 行 x 2 列的 CSS 网格布局 grid template rows 1fr 1fr 1fr grid template columns 1fr 1fr 我如何从第二列