組織図をHTMLで作成しようとしています。コードはかなりシンプルですが、私はChrome/SafariとOperaのレンダリングにいくつか問題があります。ここでボーダーコラプスとコルスパンによる奇妙な動作
はそれが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列しかないので、空のセルを追加する必要があります。これは問題の症状にのみ影響し、問題自体には影響しません。 2行目の2番目のセルで 'style =" border-color:red "を設定すると、妨害する線がこのセルの境界線の一部であることがわかります。しかし、この奇妙な現象の原因は何でしょうか? –
@ JukkaK.Korpelaあなたの発言をありがとう、私は私の記事を編集しました。私はそれを取得しません:HTMLは有効ですが、私はCSSのハックやエキゾチックなものを使用しないので、私はうんざりしています。 –