【问题标题】:Select parent of empty elements using Sass or CSS使用 Sass 或 CSS 选择空元素的父级
【发布时间】:2019-05-15 05:02:49
【问题描述】:

我尝试了几种组合来尝试选择父行,但似乎没有任何效果。也许这是不可能的。如果有人可以帮助解释如何通过 css 或 sass 实现这一点,将不胜感激。

目标是为一行添加灰色背景,如果该行包含一个空列,则 .


我尝试了以下一些变体:

tr > td:empty {
  background-color: #f3f3f3;
}

示例

<table>
   <thead></thead>
   <tbody>
        <tr>
        <td>No</td>
        <td>empty</td>
        <td>cells</td>
        <td>here</td>
    </tr>
    <tr>
        <td>Does</td>
        <td>have</td>
        <td>empty</td>
        <td>cell</td>
        <td></td>
    </tr>
   </tbody>
   <tfoot></tfoot>
</table>

【问题讨论】:

标签: html css sass


【解决方案1】:

There is not such selector 可以这样做,但您可以使用伪元素模拟效果:

table {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

tr>td:empty {
  position: relative;
}

tr>td:empty::before {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -50vw;
  right: -50vw;
  bottom: 0;
  background-color: #f3f3f3;
}
<table>
  <thead></thead>
  <tbody>
    <tr>
      <td>No</td>
      <td>empty</td>
      <td>cells</td>
      <td>here</td>
    </tr>
    <tr>
      <td>Does</td>
      <td>have</td>
      <td>empty</td>
      <td>cell</td>
      <td></td>
    </tr>
  </tbody>
  <tfoot></tfoot>
</table>
<table>
  <thead></thead>
  <tbody>
    <tr>
      <td></td>
      <td>empty</td>
      <td>cells</td>
      <td></td>
      <td>here</td>
    </tr>
    <tr>
      <td>Does</td>
      <td>have</td>
      <td></td>
      <td>empty</td>
      <td>cell</td>
    </tr>
  </tbody>
  <tfoot></tfoot>
</table>

【讨论】:

  • 由于某种原因,这只适用于我的表格页脚。我刚刚意识到我的表格在表格标签内有一个 thead、tbody 和 tboot 标签。但我认为它适用于其中任何一个
  • @NateThompson 它应该可以工作,可能需要一些调整,你能分享完整的代码吗?
  • 我确实喜欢这个答案。很有意思。不幸的是,由于安全违规,我无法分享实际代码,因为它与工作相关。所以我只能展示一个愚蠢的版本。我确实更新了我的问题,虽然它并不比预编辑好多少。
  • @NateThompson 我也用你的新代码更新了我的代码,它工作正常......你可能有一些 CSS 创建问题
猜你喜欢
  • 1970-01-01
  • 2012-09-22
  • 2013-09-14
  • 2012-08-16
  • 2013-04-12
  • 1970-01-01
  • 1970-01-01
  • 2015-07-29
  • 1970-01-01
相关资源
最近更新 更多