響應(yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)
數(shù)據(jù)展示時(shí),表頭的固定,可以有更好的可讀性。
一、實(shí)現(xiàn)方式:
1、定義2個(gè)表格,一個(gè)absolute固定
<div class="table1-wapper"> <table width="100%" cellpadding="0" cellspacing="0" id="table1"> <tr><th><div>序號(hào)</div></th><th><div>股票名稱(chēng)</div></th>...</tr> <tr>...</tr> </table> </div> <div class="fixed-table1-wapper"> <table width="100%" cellpadding="0" cellspacing="0" id="fixed-table1"> </table> </div>
2、表1<th>復(fù)制,并插入表2
var th_new=$("#table1 tr").eq(0).clone(); $("#fixed-table1").append(th_new);
3、resize()方法,實(shí)時(shí)獲取表1各列<th>寬度
function trResize(){ $("#fixed-table1 th").each(function(){ var num=$(this).index(); var th_width=$("#table1 th").eq(num).width(); $(this).css("width",th_width+"px"); }); }
4、頁(yè)面過(guò)小時(shí),表格滾動(dòng)帶表頭滾動(dòng)
$(".table1-wapper").scroll(function(){ var scroll=-$(this).scrollLeft() $(".fixed-table1-wapper").css("left",scroll+"px"); });
二、注意細(xì)節(jié):
1、寬度自適應(yīng)、去除單元格間隙:
<table width="100%" cellpadding="0" cellspacing="0" ></table>
2、表格線:
直接<td>添加border,會(huì)出現(xiàn)邊線重合;添加屬性:border-collapse: collapse;
3、td寬度:
控制第一行寬度即可 <td width="70"></td> / <td width="20%"></td>
4、奇偶行顏色不同:
css: #table1 tr:nth-child(2n){background-color:#ccc;} ie7兼容性問(wèn)題
jquery: $("#table1 tr:even").css("background-color","#ccc");
以下為完整代碼:
<!doctype html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>表格整理</title> <link rel="stylesheet" type="text/css" href="css/basic.css"> <script type="text/javascript" src="js/jquery-1.8.3.min.js"></script> <style type="text/css"> html{overflow:auto;} .table-wapper{width:100%;margin:30px auto;font-size:16px;position:relative;overflow:hidden;} .table1-wapper{height:200px;overflow-y:auto;} .table-wapper table{border:1px solid #f00;line-height:2;border-collapse: collapse;white-space:nowrap;} .table-wapper th{font-size:18px;font-weight:normal;background-color:#dbdbdb;} .table-wapper td{text-align:center;border:1px solid #f00;} .fixed-table1-wapper{position:absolute;top:0px;left:0px;background-color:#dbdbdb;} /*#table1 tr:nth-child(2n){background-color:#ccc;}*/ </style> </head> <body > <div class="table-wapper"> <div class="table1-wapper"> <table width="100%" cellpadding="0" cellspacing="0" id="table1"> <tr> <th>序號(hào)</th> <th>股票名稱(chēng)</th> <th>股票代碼</th> <th>成交</th> <th>漲跌幅</th> <th>換手率</th> <th>行業(yè)板塊</th> </tr> <tr> <td>1</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>2</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>3</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>4</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>5</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>6</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>7</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>8</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>9</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> <tr> <td>10</td> <td>光明乳業(yè)</td> <td>600597</td> <td>15.2</td> <td>+6.23%</td> <td>0.12%</td> <td>食品飲料</td> </tr> </table> </div> <div class="fixed-table1-wapper"> <table width="100%" cellpadding="0" cellspacing="0" id="fixed-table1"> </table> </div> </div> <script type="text/javascript"> $(function(){<BR> $("#table1 tr:even").css("background-color","#ccc"); //奇偶行顏色 var inner_width=$("#table1").outerWidth(); $(".fixed-table1-wapper").css("width",inner_width+"px"); var th_new=$("#table1 tr").eq(0).clone(); $("#fixed-table1").append(th_new); }) $(window).resize(function(){ trResize(); }); $(".table1-wapper").scroll(function(){ var scroll=-$(this).scrollLeft() $(".fixed-table1-wapper").css("left",scroll+"px"); }); function trResize(){ var inner_width=$("#table1").outerWidth(); $(".fixed-table1-wapper").css("width",inner_width+"px"); $("#fixed-table1 th").each(function(){ var num=$(this).index(); var th_width=$("#table1 th").eq(num).width(); //console.log("th_width:"+th_width); $(this).css("width",th_width+"px"); }); } </script> </body> </html>
以上這篇響應(yīng)式表格之固定表頭的簡(jiǎn)單實(shí)現(xiàn)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
云開(kāi)發(fā)進(jìn)階uniCloud-db組件與JQL語(yǔ)法的轉(zhuǎn)換詳解
這篇文章主要為大家介紹了云開(kāi)發(fā)進(jìn)階uniCloud-db組件與JQL語(yǔ)法的轉(zhuǎn)換詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-03-03JavaScript?onclick點(diǎn)擊事件-點(diǎn)擊切換圖片且自動(dòng)播放
這篇文章主要介紹了JavaScript?onclick點(diǎn)擊事件-點(diǎn)擊切換圖片且自動(dòng)播放,在頁(yè)面中放圖片并設(shè)置四個(gè)button,可以通過(guò)點(diǎn)擊上一張下一張來(lái)切換圖片,下面來(lái)看看具體的實(shí)現(xiàn)過(guò)程吧2022-01-01關(guān)于微信小程序使用echarts/數(shù)據(jù)刷新重新渲染/圖層遮擋問(wèn)題
這篇文章主要介紹了微信小程序使用echarts/數(shù)據(jù)刷新重新渲染/圖層遮擋問(wèn)題,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07深入理解JavaScript中async/await的錯(cuò)誤處理方式
在現(xiàn)代JavaScript開(kāi)發(fā)中,異步編程是不可或缺的一部分,async和await是一種強(qiáng)大的異步編程工具,它們使得編寫(xiě)和維護(hù)異步代碼更加容易和清晰,然而,異步操作仍然可能會(huì)出現(xiàn)錯(cuò)誤,本文將深入探討async和await的錯(cuò)誤處理方式,提供詳細(xì)的代碼示例和解釋2023-09-09JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法
這篇文章主要介紹了JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法,本文給出操作實(shí)例代碼和語(yǔ)法介紹,需要的朋友可以參考下2015-05-05