html - 如何防止背景颜色隐藏框阴影?

标签 html css border box-shadow

background-color 添加到 tdtr 隐藏父表上的 box-shadow .

最小的例子:

table {
  box-shadow: inset -1px -1px 0 0 blue;
  border-collapse: collapse;
}

td {
  box-shadow: inset 1px 1px 0 0 blue;
}

.highlight {
  background-color: #efe;
}
<table>
  <tr>
    <td>box shadow border fine here</td>
  </tr>
   <tr>
    <td>and here</td>
  </tr>
  <tr class="highlight">
    <td>but not with background-color</td>
  </tr>
</table>

我正在使用 box-shadow 在表格上伪装边框。我在每个 td 上显示“顶部和左侧”,在 table 本身上显示“底部和右侧”以填充缺失的部分。

但是如果我的表中的任何 tdtr 有一个 background-color (.highlight)来自 tablebox-shadow 消失了。

(至于我为什么这样做,是因为我在网站上设置了垂直节奏,这也适用于表格中的文本。如果我使用标准表格边框和标准行高,我会打破垂直节奏. 即使我想通过更改行高来不完美地考虑边框,我也不能,因为文本可能会换行,使我对行高的边框调整适用于每一行文本,而不是仅适用于文本 block 一次。)

最佳答案

使用没有任何偏移的框阴影。 像这样:

table {
  border-collapse: collapse;
  border-spacing: 0;

}

td {
  box-shadow: inset 0px 0px 1px blue;
}

.highlight {
  background-color: yellow;
}

关于html - 如何防止背景颜色隐藏框阴影?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39315204/

相关文章:

html - 如何绑定(bind)组件变量形成对象实例属性

html - 链接 href ="#"有什么作用?

html - 使用 CSS 动画对 div 高度进行动画处理时出现问题

安卓发光边框

css - 带有边框折叠的 Firefox 1 像素错误,解决方法?

html - 当 &lt;style&gt; 标签被电子邮件客户端丢弃时,如何在电子邮件模板中应用打印样式表?

ajax - HTML5 视频不适用于 AngularJS ng-src 标签

html - 在没有空间的情况下将图像居中对齐

html - 使用 vspace/hspace 在 HTML 电子邮件中填充图像时的双边距

html - 宽度问题 :50% when border ! = 无 (CSS)