簡體   English   中英

flexbox 表中的粘性標題不粘性

[英]Sticky header in flexbox table is not sticky

我創建了一個基於 flexbox 的表,它被剝離到下面的例子的基礎。

<!-- display: flex;flex-flow: column nowrap; flex:1 1 auto; --> 
<div class="ovdTable"> 
  <!-- display: flex; flex-flow: row nowrap; flex: 1 1 auto; -->
  <div class="ovdTable__table">  
    <!-- flex:1 1 auto; -->
    <div class="ovdTable__column">   
      <!-- display:flex; flex:none; -->                    
      <div class="ovdTable__cell ovdTable__cell--header"> 
      <!-- 1-n -->
      <div class="ovdTable__cell">                 
    </div>
  </div>
</div>

CSS 類 ovt_Table__cell--header 將以下樣式屬性添加到列中的第一個單元格。

position: sticky;
position: -webkit-sticky;
top:0;

正如預期的那樣,我搜索了類似的 stackoverflow 文章並嘗試了在那里找到的解決方案。

這里有一個 CodePen 示例。

也許我完全錯了,但我可能在溢出設置中犯了錯誤嗎?

我能夠通過在包含標題單元格的類“ovdTable”的 div 中添加一個額外的 div 並使用提升的 z-index 使這個 div“粘性”來解決它。

<!-- display: flex;flex-flow: column nowrap; flex:1 1 auto; --> 
<div class="ovdTable"> 
    <!-- display: flex; flex-flow: row nowrap; flex: 1 1 auto; -->
    <!-- position: sticky; top:0px; z-index:2; --> 
    <div class="ovdTable__tableHeader"> 
      <!-- 1-n -->
      <div class="ovdTable__tableHeader--column">Column 1</div>
    </div>
    <!-- display: flex; flex-flow: row nowrap; flex: 1 1 auto; -->
    <div class="ovdTable__tableContent">  
        <!-- flex:1 1 auto; -->
        <div class="ovdTable__column">   
            <!-- 1-n -->
            <div class="ovdTable__cell">                 
        </div>
    </div>
</div>

我已經更新了 codepen 以匹配解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM