对于 IE 来说,我们可以用以下方式来美化表格的边框(或许有的人已经根本摒弃了 table 元素的使用。但在我看来, table 在进行数据排列上还是具有 div / span 所无法比拟的优点):
但可惜,这样的写法只能在 IE 下看到效果,并且无法方便的针对单个页面来进行个性化的样式定制。所以首先我们需要把这部分代码改成 css 样式定义,以便于以后的维护修改。
据说可以使用 IE 特有的 css 样式属性来进行对应:
TABLE.colorTest{
border-width:2px;
table-border-color-light: rgb(235,234,238);
table-border-color-dark: rgb(255,255,255);
}
–>
www. | zeali. | net |
www. | zeali. | net |
但似乎 table-border-color-light 属性并没有起作用,至少在我的 IE6 下面无效,可能只是某些 IE 版本下的语法。
所以还是得想办法用标准的 css 语法来实现相同的最终页面体现:
TABLE.colorTest{
border-top: 1px solid #EBEAEE;
border-left: 1px solid #EBEAEE;
border-right: 0px;
border-bottom: 0px;
}
TD.colorTest{
border-top: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
border-right: 1px solid #EBEAEE;
border-bottom: 1px solid #EBEAEE;
}
–>
www. | zeali. | net |
www. | zeali. | net |
通过这样对 table 和 td 分别定义 border 的样式就能够实现与 border + bordercolordark + bordercolorlight 相同的效果,并且能够兼容于其他浏览器 :)通过修改colorTest 每个 border的定义就可以实现各种不同的表格边框明暗效果。唯一的缺点就是增加了 HTML 的代码量,你必须对每个 td 都定义 className 。Updated 2006-08-04 15:02 — 感谢POPOEVER的提醒,可以根据 css 的 class 继承关系来定义table/td,就不需再为table里面的每个td强制指定className(同样可以在IE/Firefox下得到相同的显示效果):
TABLE.colorTest{
border-top: 1px solid #EBEAEE;
border-left: 1px solid #EBEAEE;
border-right: 0px;
border-bottom: 0px;
}
.colorTest TD {
border-top: 1px solid #FFFFFF;
border-left: 1px solid #FFFFFF;
border-right: 1px solid #EBEAEE;
border-bottom: 1px solid #EBEAEE;
}
–>
www. | zeali. | net |
www. | zeali. | net |