« Office2003sp3の自動配布が延期になった模様 | トップページ | IE8はデフォルトではWeb標準モードで動作しないらしい »

2008/01/27

IE7でHTMLに存在しない要素にスタイルシートを適用する方法



このエントリーをはてなブックマークに追加

AjaxianとHTML5.JPでIE7以降で、HTML5の新要素にスタイルシートを適用する方法が紹介されていました。

ですが、この方法はどんな要素にも適用できるようです。

例えば、以下のようなHTMLがあったとします。

<html>
<head>
<style>
dummy { color:red; font-size:2em;}
</style>
</head>
<body>
<dummy>ここは&lt;dummy&gt;要素です。</dummy>
</body>
</html>

このHTMLは、IE7では以下のように表示されます。

IE7表示結果

FireFox2.0だとこうなります。

FireFox表示結果

Opera9.24だとこうなります。

Opera表示結果

 

IE7だけスタイルシートが適用されていませんね。

このHTMLにJavaScriptを追加します(赤字部分)。

<html>
<head>
<style>
dummy { color:red; font-size:2em;}
</style>
<script>
document.createElement("dummy");
</script>
</head>
<body>
<dummy>ここは&lt;dummy&gt;要素です。</dummy>
</body>
</html>

これをIE7で表示してみると、正しくスタイルシートが適用されていることが分かります。

IE7表示結果

 

たった1つ命令を追加するだけですし、これは便利ですね。

 

(2008.1.28追記)

Multiple IE環境での確認ですが、IE5.01はこの方法はうまくいきませんでしたが、IE5.5,IE6では有効でした。今のIEのシェア状況を考えると、IE全般に適用できると考えてもよさそうですね。

 


RSSリーダーへのご登録はこちらから!
Twitter のフォローは以下のボタンから!

スポンサード・リンク:

トラックバック

この記事のトラックバックURL:
http://app.f.cocolog-nifty.com/t/trackback/14182/10103108

この記事へのトラックバック一覧です: IE7でHTMLに存在しない要素にスタイルシートを適用する方法:

» 久々にHTMLの話 HTML5 トラックバック WEB Okanos Customize
HTML5が話題になっているので試しに書いてみた。|CSS HappyLife 久々にHTMLの話題を見つけて読んでみました。 HTMLは現在4なので新しい規... [続きを読む]

コメント

コメントを書く

プロフィール

  • SE の fnya です。SE になって、はや10年以上。様々な言語で業務系システム開発や支援を行い、最近はセキュリティも(情報セキュリティスペシャリスト)。

    ブログについて

    このブログは、IT、システム開発などに関するさまざまな話題を取り上げたり、雑感などをつづっています。

    >>プログ詳細
    >>自作ツール

    Twitter のフォローはこちらから Facebook ページはこちら Google+ページはこちら RSSフィードのご登録はこちらから