当前位置:  开发笔记 > 前端 > 正文

当背景颜色存在时,为什么边框不可见"position:sticky"?

如何解决《当背景颜色存在时,为什么边框不可见"position:sticky"?》经验,为你挑选了4个好方法。

position: 'sticky'降落在Chrome 56中,但它在某些情况下使边界不可见.

请考虑以下示例:

table {
  border-collapse: collapse;
}

thead {
  position: sticky;
  top: 0;
}

th {
  background-color: #fff;
  border-right: 5px solid red;
}
First Second Third

在Chrome 56.0.2924.76,只有最后的边界是可见的,而这仅仅是当有一个background-color规定.

这是Chrome中的错误吗?

操场



1> Eric Guan..:

我遇到了同样的问题.我的解决方法是使用:after伪元素来模拟底部边框.

th:after{
    content:'';
    position:absolute;
    left: 0;
    bottom: 0;
    width:100%;
    border-bottom: 1px solid rgba(0,0,0,0.12);
}



2> shahida..:

如果表包含列周围的边框,我们添加粘贴位置,当我们滚动表显示重叠效果以删除此效果并保留边框时,我们需要删除边框并添加轮廓而不是边框

table tr th{
      outline: 1px solid #e9ecef;                
      border:none; 
      outline-offset: -1px;
    }


这是非常有限的,因为它只能在*所有*侧绘制一条线,并且线条不会与相邻的单元格折叠.看起来很难看.不能用这个.

3> G-Cyr..:

似乎强制回流会部分帮助:

table {
  border-collapse: collapse;
}

thead {
  position: sticky;
  top: 0;
}

th {
  border-right: 5px solid red;
  transform:scale(0.999);
}
  
First Second Third


4> Project Mayh..:

我已经解决了阴影

table tr th {
   position: -webkit-sticky;
   position: sticky;
   top: -1px;
   z-index: 2;
   background-color: white;
   -moz-box-shadow: 0 0 1px -1px #ccc;
   -webkit-box-shadow: 0 0 1px -1px #ccc;
   box-shadow: 0 0 1px -1px #ccc;
}

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有