以下、すべてMac Safariで確認しています。2018/8/27現在最新版。他の環境だと違って見えると思います。
例1)そもそもは、破線が繋がらないようにしたいという質問。セル内の内容量が変化しても対応できるようにというのは、私が設定した条件。
これは th | 破線が繋がってしまう |
---|---|
これは th | これをなんとかしたい できればセルの高さがそれぞれ異なってもなんとかなる感じで |
例2)セルの高さが破線の高さの倍数であれば、繋がらないのではないか?と仮定して、設定してみた
(ちなみに、そもそも、SafariとChromeでは破線の高さが異なるようだ)
これは th | safariで調べると破線は3pxの線と3pxの空白の繰り返し |
---|---|
これは th | なので、line-height:30px、padding: 12px 30px;とした ところが破線が繋がってしまう |
これは th | キャプチャを撮って確認したところ 破線は、空白が中央で、 セルの中央を起点にして描画されているように見える |
これは th | わかりやすいように、 色を変えてあるので キャプチャを撮って 確かめてほしい。 |
例2-1)ならば、破線の両端が空白で終わるようにするには、高さ6nピクセルに、両端が見える分として上下にそれぞれ2ピクセル、合わせて4ピクセルを追加すればいいのではないか、と仮定して、検証。
これは th | セルの高さが6nピクセル+4ピクセルにする |
---|---|
これは th | なので、line-height:30px、padding: 14px 30px;とした これでどうなるか? |
これは th | キャプチャを撮って確認したところ 破線は、空白ではなく実線を中央にして、 セルの中央を起点にして描画されている・・・ |
これは th | どうやら必ず両端が実線で終わるように 何かしら 描画の調整を 行なっているようである |
例3)両端が必ず実線で(しかも実線の半分か2/3の高さで)終わるように調整が入っているなら、破線は必ず繋がってしまう。なので
border-collapse: separate;
border-spacing: 0px 3px;
を追加してみた例
これは th | これなら破線がつながることはない |
---|---|
これは th | しかし、破線の両端が、 なんとも中途半端な大きさに、、 |
これで一応、波線を繋がらないようにする、は叶えられたと思うが、コレジャナイ感・・・
ちなみに、Chromeでは、dashedのスタイルが、実線3ピクセル空白2ピクセルなので、5の倍数で高さを決めると良さそうです。Chromeでは例3は割と美しく見えるから不思議・・。