css如何调整表格表头和表尾

html-css0112

css如何调整表格表头和表尾,第1张

1、表头:点菜单“文件”—“页面设置",点“工作表”标签,在“顶端标题行”中输入表头地址区域—“确定”。

2、表尾:先将表尾区域复制并存为图片。点菜单“文件”—“页面设置",点“页眉/页脚“标签—”自定义页脚“,将鼠标点中”中间区域“,插入图片,输入事先存盘的图片—”确定“。若表尾位置不合适,可以调整”页边距“的”页脚“和”下“的位置。

这次要实现的目标是类似这种,纵向滚动时表头固定,横向滚动时,表头跟着滚动

最基础的思路就是表头和内容是用两个表格来显示(图来自 https://zhuanlan.zhihu.com/p/33280304 ),关于怎么保存表头和内容列宽一致链接里这个文章里也有写就不另外说了。

纵向滚动是挺好实现的,我开始是在内容的表格外面套了一个div,之后设置 overflow-y:auto 就实现纵向滚动了。

但横向滚动呢?

首先想到的方案是在最外面的div,outer加上 overflow-x:auto

虽然这样横纵都能滚动了,但是横向滚动的时候纵向滚动条也被滚走了。

然后想到了是用js来同步,可以是可以的,但是还是想挣扎一下。

之后想到了fixed,发现如果表头设置为fixed无论横向滚动还是都会被固定在原地。

最后突然想到一个position的新属性,sticky

设置了 position: sticky ,在屏幕范围(viewport)时该元素的位置并不受到定位影响(设置是top、left等属性无效),当该元素的位置将要移出偏移范围时,定位又会变成fixed,根据设置的left、top等属性成固定位置的效果( https://www.cnblogs.com/s1nker/p/4835079.html )。

所以最后设置了表头

css:

就成功实现了想要的效果了。

不过sticky的兼容性也是要考虑一下的。

如果表格是百分比布局,不要用position定位,列和列会对不齐的。 最简单的可以写两个table。表头一个table,表身外层一个固定高度div,里层一个table,使表头和表身的每一列的宽度对应就好了。

例:

<table>

<tr><th width="20%">xxx</th><th width="40%">xxx</th><th>xxx</th><tr>

</table>

<div height="300px">

<table>

<tr><td width="20%">xxx</td><td width="40%">xxx</td><td>xxx</td><tr>

...

</table>

</div>