草庐IT

jquery - visibility :hidden of table-cell hides background-color of parent table-row

coder 2023-08-08 原文

我有一些使用 display:table-rowdisplay:table-cell 构建的表单。在 Firefox 52 上,我可以使用 visibility:hidden 隐藏单元格元素,隐藏单元格但保留 CSS 定义的结构(而不​​是使用 display:none)。

虽然在 Firefox 64(以及 chrome)上,当我隐藏单元格的可见性时,父表行在该位置失去其背景颜色。

这是显示问题的片段:

#tableRow{
  display: table-row;
  background-color: #f5f5f5;
}
.cell{
  display:table-cell;
}
#hide{
  visibility:hidden;
}
<div id="tableRow">
  <a href="#" class="cell">Visible</a>
  <a href"#" class="cell"id="hide">Not visible</a>
  <a href="#" class="cell">Visible</a>
</div>

我试过使用 opacity: 0 但有些元素是可点击的或者有不同的事件,0 上的不透明度没有帮助。

有什么想法吗?这是故意的吗?

最佳答案

我会考虑使用 box-shadow 来模拟背景着色并避免这个bug *

.container {
  display: table;
}

#tableRow {
  display: table-row;
  box-shadow: -100vw 0 0 red inset;
}

.cell {
  display: table-cell;
  padding: 10px;
}

#hide {
  visibility: hidden;
}
<div class="container">
  <div id="tableRow">
    <a href="#" class="cell">Visible</a>
    <a href="#" class="cell" id="hide">Not visible</a>
    <a href="#" class="cell">Visible</a>
  </div>
</div>

*这可能不是错误,但我找不到任何描述此行为的规范

关于jquery - visibility :hidden of table-cell hides background-color of parent table-row,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53913917/

有关jquery - visibility :hidden of table-cell hides background-color of parent table-row的更多相关文章

随机推荐