首页
网页制作
网络编程
脚本专栏
数据库
网站运营
网络安全
平面设计
CMS教程
搜索
建站极客
网页制作
CSS
正文
用div css模拟表格对角线
所属分类:
网页制作
/
CSS
阅读数: 738
收藏 0
赞 0
分享
这只是探讨一种CSS模拟表格对角线的用法,实际在工作中可能觉得这样做有点小题大作,这不是本主题讨论的重点。如果对此深以为然的朋友,请一笑过之.
首先声明
:
这只是探讨一种CSS模拟表格对角线的用法,实际在工作中可能觉得这样做有点小题大作,这不是本主题讨论的重点。如果对此深以为然的朋友,请一笑过之。。。
有时在插入文档时,要用到表格对角线,常见的作法是用图片的方式来处理,还有就是用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;}
这样一个斜线对角线就模拟出来了。知道了原理,你可以变成很多有趣的东西出来,祝你好运!
这种对角线模拟法也有缺点:
宽高度必须是已知的 宽高的长度不能差得太大,你可以试试将宽度拉得比高度长好几倍,看看效果。(给你们留点作业练习练习) 还有就是斜线条不能设置颜色。
另:以上代码只测试了ie6和ff3,其它浏览器未做测试,请朋友们测试一下。
下面是完整的代码:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>用div css模拟表格对角线</title> <style type="text/css"> *{padding:0;margin:0;} caption{font-size:14px;font-weight:bold;} table{ border-collapse:collapse;border:1px #525152 solid;width:50%;margin:0 auto;margin-top:100px;} th,td{border:1px #525152 solid;text-align:center;font-size:12px;line-height:30px;background:#C6C7C6;} th{background:#D6D3D6;} /*模拟对角线*/ .out{ border-top:40px #D6D3D6 solid;/*上边框宽度等于表格第一行行高*/ width:0px;/*让容器宽度为0*/ height:0px;/*让容器高度为0*/ border-left:80px #BDBABD solid;/*左边框宽度等于表格第一行第一格宽度*/ position:relative;/*让里面的两个子容器绝对定位*/ } 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;} .t1{background:#BDBABD;} </style> </head> <body> <table> <caption>用div css模拟表格对角线</caption> <tr> <th style="width:80px;"> <div class="out"> <b>类别</b> <em>姓名</em> </div> </th> <th>年级</th> <th>班级</th> <th>成绩</th> <th>班级均分</th> </tr> <tr> <td class="t1">张三</td> <td>三</td> <td>2</td> <td>62</td> <td>61</td> </tr> <tr> <td class="t1">李四</td> <td>三</td> <td>1</td> <td>48</td> <td>67</td> </tr> <tr> <td class="t1">王五</td> <td>三</td> <td>5</td> <td>79</td> <td>63</td> </tr> <tr> <td class="t1">赵六</td> <td>三</td> <td>4</td> <td>89</td> <td>66</td> </tr> </table> </body> </html>
提示:您可以先修改部分代码再运行
<!DOCTYPE html> <html> <head> <meta charset="gb2312"> <title>用div+css模拟表格对角线</title> <style type="text/css"> * { margin:0; padding:0; } table { border-collapse:collapse; border-spacing:0; border-left:1px solid #999; border-top:1px solid #999; font-size:13px; text-align:center; width:500px; margin:50px auto; } td,th { border-right:1px solid #999; border-bottom:1px solid #999; padding:5px 0; background:#ddd; } td { background:#F7F8F5; } .mytablbox { width:100px; } .mytable { width:0; height:0; margin:-5px 0; position:relative; border-top:50px solid #ddd; border-left:100px solid #F7F8F5; } .mytable strong { display:block;position:absolute;top:-40px;left:-40px;width:35px; font-style:normal; } .mytable em { position:absolute; left:-90px; top:-17px; display:block; width:30px; font-style:normal; } </style> </head> <body> <table> <tr> <th class="mytablbox"> <div class="mytable"> <strong>类别</strong> <em>姓名</em> </div> </th> <th>表格</th> <th>表格</th> </tr> <tr> <td>表格</td> <td>表格</td> <td>表格</td> </tr> <tr> <td>表格</td> <td>表格</td> <td>表格</td> </tr> <tr> <td>表格</td> <td>表格</td> <td>表格</td> </tr> </table> </body> </html>
提示:您可以先修改部分代码再运行
原理:利用border-top:50px solid #ddd; border-left:100px solid #F7F8F5;模拟出三角形;再用css定位固定文字的位置。
更多精彩内容
其他人还在看
CSS配合JavaScript做酷的动态页面效果
利用CSS配合JavaScript的可以做很多更酷的动态页面效果,在本教程的最后给大家简单介绍一下CSS配合JS的应用。首先,要搞清楚事件和动作的概念。在客户端脚本中,JavaScript 通过对事件进行响应来获得与用户的交互。例如,当用户单击一个按钮或者在某段文字上移动鼠标
评论 0
收藏 0
赞 0
分享
WEB标准,Web前端开发工程师必备技术列表
想要打造并拥有一流的Web产品开发团队,在团队成员基础能力上一定要下功夫。对于Web前端产品开发来说,仅仅掌握Web1.0时代简单的"网页套接"是完全不够的。我结合自己的团队配备,特此罗列了Web前端产品工程师所涉及的技能列表如下: 通过许多实际项目,
评论 0
收藏 0
赞 0
分享
用CSS制作Alpha滤镜测试板
alpha滤镜给制作网页特效提供了较大的创作空间,但由于它控制参数较多,在实际应用时,为了确定一组合适的参数值,不得不反复调整修改,在编辑窗口和预览窗口来回倒腾,甚是麻烦,本文介绍了一种简单的方法。制作一个“Alpha滤镜参数测试板”,在测试板上输入参数
评论 0
收藏 0
赞 0
分享
非常流行的所谓的气泡窗口
普通的Alt无法自定义风格,而Sweet Titles通过JS脚本与CSS的集合.自定义了这种伪Alt风格. 前一段时间非常流行的,就所谓的气泡窗口(鼠标移到链接处出现的). 我们这里实现的用的是Sweet Titles的插件.显示效果完全由CSS控制.. 先下载Sweet Ti
评论 0
收藏 0
赞 0
分享
CSS教程:li和ul标签用法举例
LI代码的格式化: A).运用CSS格式化列表符: ul li{ list-style-type:none; } B).如果你想将列表符换成图像,则: ul li{ list-style-type:none; list-style-image: url(/blog/images/
评论 0
收藏 0
赞 0
分享
CSS教程:CSS中的定位(position)
使用CSS来定位页面内层的位置,一直是比较难以掌握的事情,很多时候,往往被绝对定位的元素,总是以浏览器的左上角为坐标原点,此时,如果浏览器的大小改变,被定义的层就会偏离设计想要的位置,让人很挠头。 其实,要想控制好层的绝对定位,只要理解CSS中关于定位
评论 0
收藏 0
赞 0
分享
CSS教程:盒模型(BOX Model)
如果想熟练掌握DIV和CSS的布局方法,首先要对盒模型有足够的了解。每个HTML元素都可以看作一个装了东西的盒子,盒子里面的内容到盒子的边框之间的距离即填充(padding),盒子本身有边框(border),而盒子边框外和其他盒子之间,还有边界(margin),如图1所示。
评论 0
收藏 0
赞 0
分享
无延迟翻滚的图形与CSS混合风格按钮
在一个具有图形背景的按钮中添加CSS风格的文本,这种建立按钮的方法结合了具有CSS翻滚(CSS rollover)标记的开发速度和效率,从而有效地提高按钮外表图像的三维效果。 相比于常规的图形按钮,这些图形/CSS混合按钮可易于建立和载入,因为你只需要为空白按钮外面
评论 0
收藏 0
赞 0
分享
css里expression实现界面对象的批量控制
用过css样式我们就知道, 可以定义一批对象的class属性来指定同一个样式来统一界面. 但如何统一同类型的对象的事件? 比如:界面有无数个 <img src="**.jpg"> 如何实现鼠标经过此图片, 图片的src变成是**_over.jpg?
评论 0
收藏 0
赞 0
分享
CSS教程:水平对齐(text-align)
水平对齐(text-align),用以设定元素内文本的水平对齐方式。 1.语法 text-align具体参数如下: 语法:text-align:left|right|center|justify 说明:设定元素内文本的水平对齐方式。 参数:left:左
评论 0
收藏 0
赞 0
分享
查看更多
网络赚钱
更多
浅谈网络营销:从卖鸡蛋面的老板联想到个人站长
代刷信誉不能信,哪些网络兼职值得信赖呢?说说那些可靠的网络兼职
不靠网络广告,站长收益从何来?
网络赚钱的几种模式总结
Google
六一儿童节微营销秘籍 互动吸粉6大招
站长故事
更多
美团副总裁杨俊:做O2O的4个关键节点 会高效率地花钱
2014,回顾互联网公司招聘的那些奇葩故事
某个人站长怎么用交友网站年赚80万的
快播之死:中国互联网的政策红利期已结束
浅谈新手站长在网站运营中如何去养站?
网站被K到恢复收录与排名我做了什么