当前位置: 首页 > 图文教程 > 网页制作 > CSS样式表 > 用div+css模拟表格对角线

CSS样式表
CSS教程:dl dt dd模拟表格实例
网页制作实例:将PSD网站模板转换为XHTML+CSS网页
CSS布局实例代码:两列布局实例
border:none;与border:0;的区别
CSS浮动定位:引起文本重影的怪异问题
同一张PNG8图片为何部份图标在IE6中消失
IE6中背景属性加a与a:hover问题
网页制作教程:在IE7中的网页文本重影问题
推动浏览器更新的原因和方法
CSS实例教程:制作网页列表菜单
CSS实例教程:制作网站横向导航
CSS实例教程:制作网页2级导航
CSS研究教程:类名的长命名和短命名
CSS教程:彻底弄清楚CSS的行高属性
用CSS的float和clear属性进行三栏网页布局
没有JS只用CSS制作的网页下拉菜单
初学CSS的基础教程:在网页中使用CSS
网页制作教程:制作拖拽翻页
制作网页时编写CSS代码的25个小技巧
CSS3中很有用的特性:CSS阴影

CSS样式表 中的 用div+css模拟表格对角线


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 62 ::
收藏到网摘: n/a

首先声明

这只是探讨一种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;}
      

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

这种对角线模拟法也有缺点:

  1. 宽高度必须是已知的
  2. 宽高的长度不能差得太大,你可以试试将宽度拉得比高度长好几倍,看看效果。(给你们留点作业练习练习)
  3. 还有就是斜线条不能设置颜色。

另:以上代码只测试了ie6和ff3,其它浏览器未做测试,请朋友们测试一下。

下面是完整的代码:

运行代码框

[Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]