网页制作:用div+css模拟表格对角线

  •   2009-07-31/13:30
  •     有时在插入文档时,要用到表格对角线,常见的作法是用图片的方式来处理,还有就是用vml来画对角线,能不能用html+css方式来实现呢?答案是肯定的,下面我们来摸拟一个表格对角线。

        用边框线来摸拟斜线,我们知道,如果将一个DIV的边框线设置得足够宽并定义了不同的颜色时,其相邻的两条边框线交界处就是斜线。知道了这个原理,我们就可以用border-left和border-top来模拟出斜线的效果。

        我们先创建一个结构:
      <div class="out">
        <b>类别</b>
        <em>姓名</em>
      </div>


        我们用<div class="out">作为对角线的容器,我们来设置斜线样式,关键代码如下:
    .out{
       border-top:40px #D6D3D6 solid;/*上边框宽度等于表格第一行行高*/
       width:0px;/*让容器宽度为0*/
       height:0px;/*让容器高度为0*/
       border-left:80px #BDBABD solid;/*左边框宽度等于表格第一行第一格宽度*/      
      position:relative;/*让里面的两个子容器绝对定位*/
    }

        <b>和<em>两个标签来设置两个分类,分别将它们设置为块状结构display:block;清除其默认的字体样式font-style:normal;因其父容器设置了相对定位,所以设置其为绝对定位,这样可以将它偏移到你想指定的位置了。

    b{font-style:normal;display:block;position:absolute;top:-40px;left:-40px;width:35px;}
    em{font-style:normal;display:block;position:absolute;top:-25px;left:-70px;width:55x;}     

     

        这样一个斜线对角线就模拟出来了。知道了原理,你可以变成很多有趣的东西出来,祝你好运!

        这种对角线模拟法的缺点:

        1.宽高度必须是已知的

        2.宽高的长度不能差得太大,你可以试试将宽度拉得比高度长好几倍,看看效果

        3.还有就是斜线条不能设置颜色。

        另:以上代码只测试了ie6和ff3,其它浏览器未做测试。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多