關於Web中的凍結表頭

2021-06-20 02:59:38 字數 1945 閱讀 7705

我們可以看到,fixed是相對於瀏覽器而言的,也就是說fixed並不是特別容易進行定位,當使用者對瀏覽器窗體的大小改變時,他的座標也會隨之改變;

還有一位大大,使用乙個table,然後table中有thead和tbody,將thead進行相對定位,這種方式我也嘗試過,但是會出現th的長度不能設定;

上面兩種方法在我的知識中都有它的一定侷限性,暫時不能解決這些問題,如果有人可能完美解決請告訴我下,我在這先謝謝了

我在這裡要說的是我使用的一種方法,我看過excel,它的滾動條存在與表頭是表體,所以我使用兩個table,外面乙個div,第乙個table為表頭,第二個table為表體,使用jquery給元素設定樣式,使表頭以外面的div為父元素進行相對定位,標籤元素的格式為

序號產品編碼

產品名稱

類別產品規格

計量單位

標準進貨價

標準銷售價

庫存數量

在採購量

最小庫存

最大庫存

123456

78910

1112

js**如下:

var gelationutil = new object();

function gelation(widtharray) );

// 設定第乙個table

$(".gelation_table table:first-child").css();

// 設定第二個table

$(".gelation_table table:last-child").css();

// 給th,td設定邊框

$(".gelation_table table tr th,.gelation_table table tr td").css();

// 刪掉每一行tr中最後乙個th,td的右邊框

$( ".gelation_table table tr th:last-child,.gelation_table table tr td:last-child")

.css("border-right", "0px");

// 設定作為內容的table中每行第乙個td居中

$(".gelation_table table tr td:first-child").css("text-align", "center")

.css("paddingleft", "0px");

// 設定每個th,td的寬度

$.each(widtharray, setwidth);

// 給div繫結滾動條事件

$(".gelation_table").scroll(function() );

//設定所有表單元素邊框為0

$(".gelation_table table tr td input:not(input:checkbox)").css();

}/** *設定每個th,td的寬度** */

function setwidth(key, value)

/** *用於**中的全選核取方塊** */

gelationutil.allcheck = function(all)

最後還需要在頁面中加入一行js的初始化**:
$("body").ready(

function() );

傳入的引數是乙個陣列,陣列中是每一列的長度;

最後的結果

這樣還差強人意,為了更美觀一點,我們加入全域性的樣式

*
最後的結果

像excel一樣輕鬆凍結web報表表頭 鎖定表頭

對於乙個 來說,使用者體驗會涉及到很多方面,包括頁面布局是否合理 導航檢視是否清晰 載入速度是否夠快 乃至按鈕或字型的大小,等等諸多方面。使用者體驗是使用者的主觀感受,通俗來說就是 你這玩意兒用起來方不方便 除了 設計,好的使用者體驗同樣適用於用報表工具製作出的報表。比如資料監控,報表支援高亮顯示資...

PHPExcel凍結(鎖定)表頭的使用方法

phpexcel是一款功能比較強大的操作微軟excel的php外掛程式,在匯出資料時為了方便檢視,有時需要鎖定表頭,也就是在滾動檢視資料時,表頭始終出現在視野中,而不會消失。呼叫方法如下 objphpexcel new phpexcel objphpexcel setactivesheetindex...

web 中怎麼實現斜線表頭效果?

1.直接做乙個帶有斜線和文字的,在 html 中引用。2.用 css3 的標籤 canvas,將其作為畫布畫一條斜線。缺點 會存在瀏覽器相容性問題,如果只需要在 chrom 中使用可以考慮。其實現在大部分專案中做表都會用報表工具,工具中就基本都有這個功能了,設定方式也很簡單,潤幹報表中只要直接點選個...