z-index 无效问题?

我们知道,z-index 生效的条件之一就是元素的 position 要设置为 relative,absolute,或者 fixed 之一。

如下代码:

    <thead id="fixed_table_title" class="table-head">
                 <tr>
                      <th>Prescriber</th>
                 </tr>
               </thead>
               
               
  <tbody id="fixed-body" class="table-body" style="transition: -webkit-transform 0s ease-out; transform: translate3d(0px, -24.808px, 0px);">
                 <tr>
                     <td>商品1</td>
                 </tr>
               <tr>
                   <td>商品2</td>
               </tr>
               <tr>
                   <td>商品3</td>
               </tr>
               <tr>
                   <td>商品4</td>
               </tr>
   
               </tbody>      
               
   
   
   #fixed_table_title{
       position: relative !important;
        z-index: 10000 !important;
   }
   #fixed-body{
           z-index: 100 !important;
position: relative !important;
   }            
           
           
           
    但是 改变 translate3d 属性移动的时候, thead 还是会被覆盖 ?                
阅读 8.7k
5 个回答

手机码字
无效原理见前几个回答、不能测试。看一下吧
不用定义 z-index ,所以把 position 也删了。
为 #fixed_table_title
定义 transform: translate3d(0px, 0px, 1px)
Z 轴比 tbody 高。

通过定义 transform: translate3d(0px, 0px, 1px)
亲测Safari有效,Chrome无效,已添加prefix

新手上路,请多包涵

不用定义 z-index ,所以把 position 也删了。
为 #fixed_table_title
定义 transform: translate3d(0px, 0px, 1px)
Z 轴比 tbody 高。
这方式要想在chrome有效还要做多一步
就是html的结构要稍变一下
把thead与tbody的顺序调换一下就可以了

灵感来源于:https://www.jb51.net/css/2558...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏