発生している問題
HTMLテーブルで、線の太さを1pxに統一して外枠線の色だけを変えたレイアウトを作成したいと思っています。
それを意図したhtmlを記述しましたが、結果は以下の画像のような表示になってしいます。
html
1<!DOCTYPE html> 2<html> 3<head> 4<style> 5table { 6 border: solid 1px red; 7 border-collapse :collapse; 8} 9table td { 10 border: solid 1px gray; 11} 12</style> 13</head> 14<body> 15 16<table> 17 <tr><td>hoge</td><td>hogehoge</td></tr> 18 <tr><td>fuga</td><td>fugafuga</td></tr> 19</table> 20 21</html>
原因
原因は判明しています。
border-collapse :collapse;
で重なった線には「ボーダースタイルの色のみが異なる場合は、 セルの線はテーブルの線より優先される」という仕様があるからです。
参考リンク:W3C Tables
質問
調査した範囲では線の描画優先度を変化させる方法は見つかりませんでした。
もちろんテーブル外枠に隣接するtd
タグすべてに個別でborder
スタイルを設定すれば外枠線の色だけを変えることは可能ですが、目的とする表示をもっと単純なコードによって実現できる方法があれば教えてください。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/06/24 10:48