Heim > Web-Frontend > HTML-Tutorial > [DIV+CSS] 绘制2重交叉表_html/css_WEB-ITnose

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

WBOY
Freigeben: 2016-06-24 12:31:24
Original
1677 Leute haben es durchsucht

几年前曾有过 在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设计问题简单化.
继续学习中....
   
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage