[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设计问题简单化.
继续学习中....
先说下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设计问题简单化.
继续学习中....
声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
相关文章
相关视频
专题推荐
-
独孤九贱-php全栈开发教程
全栈 170W+
主讲:Peter-Zhu 轻松幽默、简短易学,非常适合PHP学习入门
-
玉女心经-web前端开发教程
入门 80W+
主讲:灭绝师太 由浅入深、明快简洁,非常适合前端学习入门
-
天龙八部-实战开发教程
实战 120W+
主讲:西门大官人 思路清晰、严谨规范,适合有一定web编程基础学习
网友评论
文明上网理性发言,请遵守 新闻评论服务协议
我要评论