
在这个表格中,表头一1 和 表头二2 这两列是固定的,目前想到的解决方案是,使用 position:absolute; 但是,这个绝对定位不能相对于 table 来定位,因为这样无法实现冻结这两列的效果。
我们只能通过它相对于屏幕的最左来固定第一列,同时通过 JS 来计算出第二列相对于屏幕的最左的距离,并给这列加上一个属性 offsetLeft;
随后给第三列(这是不需要固定的列)一个 paddingLeft 值来防止它被因为设置 position:absolute 而脱离文档流的固定列所覆盖。
下面是具体的代码:
表头1
表头2
表头3
表头4
表头5
表头6
表头7
表头8
AAA
BBB
CCC
DDD
EEE
FFF
GGG
HHH
具体效果如下:
随后,我将表头更改为如下:
表头一1
表头一2
表头一3
表头一4
表头一5
表头一6
表头一7
表头一8
表头二1
表头二2
表头二3
表头二4
表头二5
表头二6
但是效果却成了如下形式:

觉得应该还是因为前两列设置了 position:absolute 导致的元素脱离文档流引起的,但是不知道怎么解决,希望各位大神能不吝赐教。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
问题解决了:http://stackoverflow.com/questions/36255...
我还真没见过用table做layout,又用position:absolute来定位元素的。
我建议你学一下p有关的layout的文档吧