我想在HTML中製作組織結構圖。代碼非常簡單,但我在Chrome/Safari和Opera中呈現出一些問題。邊界崩潰和colspan的奇怪行爲
下面是結果應該是什麼樣子的,因爲它在Firefox和IE:
這裏是Chrome和Safari
這裏是在Opera :
問題來自CSS中的border-collapse: collapse
屬性。如果我使用舊的編碼風格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;
}
這很奇怪,即使是這樣一個相當複雜的表格。順便說一句,該表有8列,但第3行只有7列,所以應該添加一個空單元格;但這隻會影響問題的症狀,而不是問題本身。如果在第二行的第二個單元格上設置'style =「border-color:red」',則會看到干擾線是該單元格邊框的一部分。但是這個奇怪現象的原因可能是什麼? –
@ JukkaK.Korpela感謝您的評論,我編輯了我的帖子。我也不明白:HTML是有效的,我不使用CSS黑客或異國情調的東西,所以我很困惑。 –