下面是友诺网整理的在HTML中的表格Table画类似于课程表的斜线的方法。
一。图片法
计算好表格的宽度高度,直接画图片做背景以实现。
二。用div+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,其它浏览器未做测试,请朋友们测试一下。
下面是完整的代码演示页。使用CSS+DIV模拟表格斜线实例
本方法来源:http://www.wzsky.net/html/Website/CSS/103778.html
三。使用JS实现
这里介绍一个超酷的网址,它可以任意使用JS来画形状:http://www.walterzorn.com/jsgraphics/jsgraphics_e.htm
本例源代码,请点开这里示例,查看源代码来看是如何使用JS来绘制表格斜线的。
有人说,不过中间对齐的情况下,td1.offsetLeft还是有问题(在分辨率改变的时候)
此方法来源:http://topic.csdn.net/t/20050105/10/3700075.html
四。使用VML实现。
这里有一个简单的例子,实现在基于IE下的效果,在FF下没有出现想要的结果。
点击这里查看Html+Vml:在Html表格中使用Vml画一条斜线的实例。
具体语法可以参考VML。
本方法来源:http://www.iwms.net/n426c19.aspx
五。其他方法
有人说在Word里绘制好表格,另存为网页来看一下。没有实验成功。