【发布时间】:2021-10-29 00:05:23
【问题描述】:
我正在尝试显示一个 table,它显示了一些分组数据。
标题应该粘贴(在视口的顶部),以及一些包含组标题的表格行。
为简单起见,我在 Codepen 上创建了以下示例: https://codepen.io/andreivictor/pen/RwZRZav
我试过的代码是:
td.sticky {
background: red;
color: white;
position: sticky;
top: 50px; // this is the header height
}
在 Chrome 和 Firefox 上运行良好。
问题是它在 Safari 中不起作用(在 Safari v14 上测试);在 Safari 移动版中都没有。看截图:
https://i.imgur.com/8NEgPYB.png - 该行是粘性的 - 但 top 的位置不同(相对于表格的顶部 - 而不是视口的顶部)。
【问题讨论】:
-
所以只是为了确保:如果您在粘性课程中使用
top: 0而不是top: 50px正在使用 safari? -
是的,似乎解决方案是
top: 0- 用于 safari /top: 50px- 用于其他浏览器。但这看起来像是某种黑客行为,我也试图了解为什么会在 safari 上发生这种情况。
标签: css safari mobile-safari