コニファ・ロゴ

ツール集:古い色関係の属性において16進数3桁で記述すると、IEの表示が黒くなる

業務用などで、古くから使われている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)は、table要素の各td要素の背景色を指定しています。(1-1)はbgcolor属性で16進数3桁、(1-2)はbgcolor属性で16進数6桁、(1-3)はcssのbackgroundで16進数3桁を記述しています。(1-1)は、Internet Explorerで見ると、背景が真っ黒になります。(1-3)は、Internet Explorerでも問題ありません。

サンプル(1)・bgcolor属性で16進数3桁

(1-1)bgcolor="#cff" (1-2)bgcolor="#ccffff" (1-3)style="background:#cff"

サンプル(1)のhtmlソース

<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>

実際にWindows10、Internet Explorer11で表示したときの画像

 

サンプル(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)・fontタグ color属性で16進数3桁

(2-1)color="#b00" (2-2)color="#bb0000" (2-3)style="color:#b00;"

サンプル(2)のhtmlソース

<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)・fontタグ color属性で16進数3桁

(3-1)bordercolor="#0c0"
(3-2)bordercolor="#00cc00"
(3-3)style="border:3px solid #0c0;"

サンプル(3)のhtmlソース

<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>

 

 

 

 

戻るボタン