動的スタイルシートをカスケードする場合、IEにバグがあるようです。回避策があるかどうか誰かが知っていますか?このことを考慮:
<head>
<style>#test{background:red;}</style>
</head>
<body>
<div id="test">test</div>
<script>
var link = document.createElement('link');
var style = document.getElementsByTagName('style')[0];
link.rel = 'stylesheet';
link.href = 'test.css';
style.parentNode.insertBefore(link, style);
</script>
</body>
挿入された「test.css」には。が含まれています#test{background:green}
。
<link>
タグの前に配置し<style>
ますが、IE7 +は挿入されたスタイルシートでスタイルをオーバーライドし、背景として緑を適用します。
FF / Chromeはこれを正しい方法で実行し、スタイルタグが挿入されたリンクタグよりも優先されるようにして、背景が赤のままになるようにします。