Safari 替换粘性 table header
Safari displace sticky table header
我有一个需要置顶的应用程序 headers。它通常适用于 Chrome 和其他浏览器,但 Safari 不能,尽管文档说它应该。
这是代码:(你应该 运行 它与 Safari 一起工作)
.container{
padding: 0rem 1rem 0rem 1rem;
overflow: scroll;
table-layout: fixed;
height:10rem;
width: 100%;
background-color:green;
}
.my_table {
border-collapse: separate;
border-spacing: 0;
text-align: center;
width: 100%;
margin-bottom: 1rem;
color: #212529;
}
.my_table thead,
.my_table thead th,
.my_table thead td {
border-top: 0px;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 4;
background-color: #fff;
color: #0062cc;
}
<div class='container'>
<table class='my_table table'>
<thead><tr><th><div>Header</div></th></tr></thead>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
</table>
</div>
我该如何解决这个问题?
如果 parent overflow
是 auto
,我读到了这个问题,但我的是 scroll
.
只为 .my_table thead th
设置粘性以用于 safari 和 chrome
.container{
padding: 0rem 1rem 0rem 1rem;
overflow: scroll;
table-layout: fixed;
height:10rem;
width: 100%;
background-color:green;
}
.my_table {
border-collapse: separate;
border-spacing: 0;
text-align: center;
width: 100%;
margin-bottom: 1rem;
color: #212529;
}
.my_table thead th {
border-top: 0px;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 4;
background-color: #fff;
color: #0062cc;
}
<div class='container'>
<table class='my_table table'>
<thead><tr><th><div>Header</div></th></tr></thead>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
</table>
</div>
我有一个需要置顶的应用程序 headers。它通常适用于 Chrome 和其他浏览器,但 Safari 不能,尽管文档说它应该。
这是代码:(你应该 运行 它与 Safari 一起工作)
.container{
padding: 0rem 1rem 0rem 1rem;
overflow: scroll;
table-layout: fixed;
height:10rem;
width: 100%;
background-color:green;
}
.my_table {
border-collapse: separate;
border-spacing: 0;
text-align: center;
width: 100%;
margin-bottom: 1rem;
color: #212529;
}
.my_table thead,
.my_table thead th,
.my_table thead td {
border-top: 0px;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 4;
background-color: #fff;
color: #0062cc;
}
<div class='container'>
<table class='my_table table'>
<thead><tr><th><div>Header</div></th></tr></thead>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
</table>
</div>
我该如何解决这个问题?
如果 parent overflow
是 auto
,我读到了这个问题,但我的是 scroll
.
只为 .my_table thead th
设置粘性以用于 safari 和 chrome
.container{
padding: 0rem 1rem 0rem 1rem;
overflow: scroll;
table-layout: fixed;
height:10rem;
width: 100%;
background-color:green;
}
.my_table {
border-collapse: separate;
border-spacing: 0;
text-align: center;
width: 100%;
margin-bottom: 1rem;
color: #212529;
}
.my_table thead th {
border-top: 0px;
position: -webkit-sticky;
position: sticky;
top: 0;
z-index: 4;
background-color: #fff;
color: #0062cc;
}
<div class='container'>
<table class='my_table table'>
<thead><tr><th><div>Header</div></th></tr></thead>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
<tbody><tr><td>Row</td></tr></tbody>
</table>
</div>