当前位置: 首页 > 图文教程 > 网页制作 > HTML/XHTML教程 > 当td为空时怎样显示其边框

HTML/XHTML教程
HTML表格标记教程(29):单元格的亮边框色属性BORDERCOLORLIGHT
XHTML教程:针对初学者的XHTML基础
HTML表格标记教程(27):单元格的背景图像属性BACKGROUND
HTML表格标记教程(26):单元格标记
HTML表格标记教程(24):行的水平对齐属性ALIGN
HTML表格标记教程(25):行的垂直对齐属性VALIGN
HTML表格标记教程(22):行的亮边框色属性BORDERCOLORLIGHT
HTML表格标记教程(23):行的暗边框色属性BORDERCOLORDARK
HTML表格标记教程(20):行的背景色属性BGCOLOR
HTML表格标记教程(21):行的边框色属性BORDERCOLOR
HTML表格标记教程(19):行标记
HTML表格标记教程(17):表格标题垂直对齐属性VALIGN
HTML表格标记教程(18):表格的表头
HTML表格标记教程(15):表格的标题
HTML表格标记教程(16):标题水平对齐属性ALIGN
HTML表格标记教程(13):内部边框样式属性RULES
HTML表格标记教程(14):表格的表头
HTML教程:html水平线段
XHTML入门学习教程:表格标签的应用
XHTML入门学习教程:XHTML网页图片应用

HTML/XHTML教程 中的 当td为空时怎样显示其边框


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

之前总结了下如何用 css 来实现 table 的 border + bordercolordark + bordercolorlight 的边框明暗效果,然后有网友问我为什么他写了一个类似的 css 样式,但只能在 Opera 下正常看到表格的边框效果, IE 下则什么也没有。
  下了个 Opera9 一看,确实如此。原因倒也不复杂:因为在 IE 下( Firefox 似乎和 IE 一致)如果某个 td 的内容为空的话,即便你设置了高度和宽度,这个 cell 的边框样式也是不会被显示出来的; Opera 则不管是否有内容与否,一概应用样式来渲染。这个问题刚毕业那会就碰到了,当时部门的科长来问我,后来我跟他说:给每个空的 td 加上 就行了。以后每次碰到这个问题,我就统统采用这个简单粗暴有效的方式来解决了。
  但今天卯足了劲研究了几下,从 Jiarry 那知道原来 css 语法是允许我们对这些缺省行为进行改变的:使用 border-collapse:collapse; 和 empty-cells:show; 就可以让消失的边框显现出来。
class="test1": 加 border-collapse:collapse;
.test1{
border:1px solid #999999;
border-collapse:collapse;
width:60%
}
.test1 td{
border-bottom:1px solid #999999;
height:28px;
padding-left:6px;
}
class1 这儿有内容
这儿有内容
class="test2": 加 border-collapse:collapse; 和 empty-cells:show;
.test2{
border:1px solid black;
border-collapse:collapse;
width:60%
}
.test2 td{
border-bottom:1px solid black;
height:28px;
padding-left:6px;
empty-cells:show;
}
class2 这儿有内容
这儿有内容
class="test3": 不加 border-collapse:collapse; 和 empty-cells:show; 的情况下
.test3{
border:1px solid #999999;
width:60%
}
.test3 td{
border-bottom:1px solid #999999;
height:28px;
padding-left:6px;
}
class3 这儿有内容
这儿有内容