仅使用JavaScript为ie8调用不同的样式表(不支持媒体查询)

时间:2012-05-07 11:39:59

标签: javascript css internet-explorer-8 screen-resolution

我只需要为IE8调用不同分辨率的不同样式表,因为它与媒体查询不兼容。

3 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

编辑2 :我把这个问题搞砸了,把它与另一个问题搞混了,但现在一切都应该好了。对不起OP。


不是为每个分辨率设置单独的样式表,而是将它们组合在一起并让javascript在Body上放置一个类,以便应用分辨率的正确样式规则。的 e.g,

IE8Styles.css

.mystyle { /* Common Styles */ }
body.res800x600 .mystyle { ... }
body.res1024x768 .mystyle { ... }

page.html中

<script>
setTimeout(fixResolutionStyles, 200)

function fixResolutionStyles() {
    var windowWidth = document.body.offsetWidth
    var bodyClass = ""
    if(windowWidth > 1600){
        bodyClass = '1600x900'
    } else if (windowWidth > 1024) {
        bodyClass = '1024x786'
    }
    document.body['class'] = "res" + bodyClass
    setTimeout(fixResolutionStyles, 200)
}
</script>

答案 2 :(得分:0)

由于您明确询问“使用javascript”,我不会主张使用conditional comments 留下conditional compilation

/*@cc_on@if(@_jscript_version == 5.8)
document.getElementById("id-of-your-style-tag").styleSheet.addImport("/path/style.css");
@end@*/