我正在尝试用 HTML 制作组织结构图。代码相当简单,但我在 Chrome/Safari 和 Opera 中的渲染存在一些问题。
结果应该是这样的,因为它适用于 Firefox 和 IE:
这是在 Chrome 和 Safari 中
这是在 Opera 中:
问题来自border-collapse: collapse
CSS 中的属性。如果我使用旧的编码风格cellspacing="0" cellpadding="0"
,它或多或少地工作,但在 HTML5 中无效。
我创建了一个 jsFiddle 来显示问题:http: //jsfiddle.net/aGVp4/7/
我的 HTML:
<table cellspacing="0" cellpadding="0">
<tr>
<td colspan="3"></td>
<td colspan="2" class="case"></td>
<td colspan="3"></td>
</tr>
<tr>
<td colspan="3"></td>
<td colspan="2" class="case"></td>
<td colspan="3"></td>
</tr>
<tr>
<td></td>
<td colspan="3" class="right bottom"></td>
<td colspan="3" class="bottom"></td>
<td></td>
</tr>
<tr> <!-- No colspan here, to make the layout symmetrical -->
<td class="right"></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td class="right"></td>
<td></td>
</tr>
<tr>
<td colspan="2" class="case"></td>
<td colspan="4"></td>
<td colspan="2" class="case"></td>
</tr>
</table>
还有我的 CSS:
.orgchart {
border-spacing: 0;
border-collapse: collapse;
}
td {
width: 3em;
height: 1em;
}
td.case {
border: 1px solid black;
}
td.right {
border-right: 1px solid black;
}
td.bottom {
border-bottom: 1px solid black;
}
td.top {
border-top: 1px solid black;
}