DataTables固定表格寬度(設置橫向滾動條)


當表格的列比較多的時候,可能就需要固定表格的寬度了,默認的100%寬已經不適應了。默認的100%寬要實現改變窗口大小也100%的話,在table元素上添加width="100%",至於css的100%為什么不生效,原因未知。下面就說說設置如何給datatables設置固定的寬度。

1.html代碼

<div id="tableArea">
        <table id="userTable" class="display table table-bordered" cellspacing="0" >
            <thead>
            <tr>
                <th style="display: none">ck</th>
                <th>序號</th>
                <th>賬號</th>
                <th>姓名</th>
                <th>CPID</th>
                <th>CP名稱</th>
                <th>操作</th>
            </tr>
            </thead>
        </table>
</div>

 

2.覆蓋某些樣式(我們的樣式優先級高,所以會覆蓋內置的樣式)

#tableArea .dataTables_wrapper {
    position: relative;
    clear: both;
    zoom: 1;
    overflow-x: auto;
}

#tableArea table{
    width: 800px;
}

這里的overflow-x:auto是新增的,表示表格內容超出寬度后,出現橫向滾動條;table的width必須寫死寬度,直接寫在table元素上不生效,原因未知。

 

3.設置列寬(可略)

"columns": [
    { "data": "number", "orderable": false ,"width":"100px","searchable": false}
]

 

4.運行瀏覽,發現此時,當瀏覽器窗口小於800像素的時候,表格出現了橫向的滾動條,正是我們想要的結果。

 

5.為什么不用"scrollX":true的配置實現橫向滾動條呢?查詢它渲染后的網頁發現,它把table拆分成了兩個表格,一個表示表頭,一個表示表體。這不是我想要的,而且它表頭的內容若是超出的話是隱藏的。

 

6.還有兩個樣式,可以參考參考,可能對你有用。

table td{

  word-break:break-all;

}

單詞也可以允許換行,這對於單元格的寬度有很好的控制,而不會讓單元格被內容撐開!

 

table
{
        table-layout:fixed;
}

表格布局算法為固定(列寬由表格寬度和列寬度設定)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM