欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

[DIV+CSS] 绘制2重交叉表_html/css_WEB-ITnose

程序员文章站 2022-06-12 16:18:30
...
几年前曾有过 在Web上生成交叉表的需求,不过由于当时CSS+Div 尚未盛行, 以至于table+table的在页面上折腾. 最后也只能到2重交叉表的程度, 然而通用性,可读性都很差, 还不易于维护. 于是随着Css+Div布局潮流,重写了交叉表(2重,3重...多重) 并在项目中运用了. 在这整理一下.

先说下2重交叉表
首先确立结构:







先说下scrollDiv 方法主要是为了实现表体滚动的时候表侧和表头能同时跟着滚动. 代码很简单.
function scrollDiv() {
document.getElementById('theadR').scrollLeft = document.getElementById('tbodyR').scrollLeft;
document.getElementById('tbodyL').scrollTop = document.getElementById('tbodyR').scrollTop;
}

定义好结构以后就是css定制了.
首先给最外层table 定义边距 margin-left:20px;margin-bottom:15px;
然后是内部4块
左上部分表头最简单,但是也很重要, 他的高度对应着右表头的的高度,宽度对应着表侧的宽度. 至于外边框则根据需要加了.
.table .theadL{top:0px;left:0px;width:300px;height:103px;background:Silver;border-top:solid 1px black;border-left:solid 1px black;}

右上部分表头主要是为了和表体部分竖线对齐, 所以列宽全部设死, 列内设置div 并且设置 overflow:hidden.
表侧也同理 并且设置高度和表体部分列高一样.

表侧部分的样式就简单了 只要设置下列内div 高度宽度 和overflaw:hidden 保证内容不益处就好了.

.table .tbodyL{top:103px;left:0px;width:300px;height:250px;border-bottom:solid 1px black;border-right:solid 1px black;}
.table .theadR{top:0px;left:299px;width:500px;height:103px;border-top:solid 1px black;border-top:solid 1px black; }
.table .tbodyR{top:103px;left:300px;width:517px;height:267px;}

效果如下:

还有更复杂的交叉表,也是差不多处理. 总而言之,DIV+CSS布局确实可以把很多复杂WEB设计问题简单化.
继续学习中....[DIV+CSS] 绘制2重交叉表_html/css_WEB-ITnose

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • [DIV+CSS] 绘制2重交叉表_html/css_WEB-ITnose
  • 专题推荐