【问题标题】:How can I style every other row of a CSS Grid? [duplicate]如何设置 CSS Grid 的每一行的样式? [复制]
【发布时间】:2018-03-09 03:24:50
【问题描述】:

我有无限数量的div 元素(内容/网格项)。我希望他们在定义数量的 CSS Grid 列中进行布局。 CSS Grid 很容易将它们排列出来。但是现在,随着元素就位,我想以某种方式在结果网格的每隔一行中设置<div>s 的样式。

将其视为将表格的每一行设置为更深的颜色。

这个问题可以概括为:你可以为 CSS Grid 的任意行/列设置样式吗?

建议的情况:

<div class="content-grid">
    <div class=""content-grid__item></div>
    <div class=""content-grid__item></div>
    <div class=""content-grid__item></div>
    ...

</div>

它的 css:

.content-grid {
    display: grid;
    grid-template-columns: 77px 77px 77px;
}

.content-grid__item {
    background-color: red;
}

理想世界的最佳解决方案:

// pseudocode
.content-grid:nth-row(odd) .content-grid__item {
    background-color: darkred;
}

【问题讨论】:

标签: css css-grid


【解决方案1】:

你不能……

CSS Grid 行不是 DOM 元素,因此不能被 CSS 选择。

【讨论】:

  • 这是真的 - 他们不是。但与此同时,这并不妨碍人们“为 [此类] CSS 网格的每一行设置样式”。我在问如何
  • 由于不是元素,它们不能用 CSS 设置样式,就这么简单。
  • 您可以使用第 n 个项目类型 CSS 来设置样式,通过计算列数来设置奇数行中的每个单元格,但您不能说设置跨行的背景图像样式,您可以使用 css :display table/table-row/table-cell
猜你喜欢
  • 2022-08-11
  • 1970-01-01
  • 2021-07-04
  • 1970-01-01
  • 2015-06-17
  • 2014-02-04
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
相关资源
最近更新 更多