業務用などで、古くから使われているhtmlが現在も残っていることがあります。これらは、現在のHTML5では禁止されているタグが多く使用されているものの、新しいブラウザでもほぼ動作します。ただし、ツールなどで自動作成したtable要素では、td要素ごとに「bgcolor="#******"」が記述されていて、ファイルサイズを肥大化しているものがあります。SEOを考慮して、少しでもファイルサイズを落とそうと、6桁表記の16進数色コードのうち、3桁で記述可能なものを3桁表記にしました。
表示を確認したところ、Edgeを含むほとんどのブラウザで問題は起きませんでしたが、Internet Explorerのみ、背景が真っ黒になりました(下に画像有り)。bgcolorの記述は、16進数6桁、または色名ということになっているので、このInternet Explorerの振る舞いがバグかどうか分かりませんが、表示の確認に現在の主流Google Chromeを使っていると気づかず、トラブルの種になるかもしれません。
また、HTML5では禁止になった他の古いタグでも試してみました。bgcolor属性のときと同様に16進数3桁を使うとInternet Explorerの表示が黒くなります。
(1-1)bgcolor="#cff" | (1-2)bgcolor="#ccffff" | (1-3)style="background:#cff" |
<table class="sample"> <tr> <td bgcolor="#cff">(1-1)bgcolor="#cff"</td> <td bgcolor="#ccffff">(1-2)bgcolor="#ccffff"</td> <td style="background:#cff">(1-3)style="background:#cff"</td> </tr> </table>
サンプル(2)は、テキストの色を指定しています。(2-1)はfontタグ color属性で16進数3桁、(2-2)はfontタグ color属性で16進数6桁、(2-3)はcssのcolorで16進数3桁を記述しています。(2-1)は、Internet Explorerで見ると、テキストの色が黒になります。(2-3)は、Internet Explorerでも問題ありません。
(2-1)color="#b00" | (2-2)color="#bb0000" | (2-3)style="color:#b00;" |
<table class="sample"> <tr> <td><font color="#b00">(2-1)color="#b00"</font></td> <td><font color="#bb0000">(2-2)color="#bb0000"</font></td> <td style="color:#b00;">(2-3)style="color:#b00;"</td> </tr> </table>
サンプル(3)は、tableのボーダーの色を指定しています。(3-1)はbordercolor属性で16進数3桁、(3-2)はbordercolor属性で16進数6桁、(3-3)はcssのborderで16進数3桁を記述しています。(3-1)は、Internet Explorerで見ると、ボーダーの色が黒になります。(3-3)は、Internet Explorerでも問題ありません。
(3-1)bordercolor="#0c0" |
(3-2)bordercolor="#00cc00" |
(3-3)style="border:3px solid #0c0;" |
<table class="sample2" border="3" cbordercolor="#0c0"> <tr> <td>(3-1)bordercolor="#0c0"</td> </tr> </table> <table class="sample2" border="3" bordercolor="#00cc00"> <tr> <td>(3-2)bordercolor="#00cc00"</td> </tr> </table> <table class="sample2" border="3" style="border:3px solid #0c0;"> <tr> <td>(3-3)style="border:3px solid #0c0;"</td> </tr> </table>