響應(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-03
JavaScript?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-09
JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法
這篇文章主要介紹了JavaScript中停止執(zhí)行setInterval和setTimeout事件的方法,本文給出操作實(shí)例代碼和語(yǔ)法介紹,需要的朋友可以參考下2015-05-05

