很多人可能在调用css样式都是使用传统的方式调用其实有很多方法可以进行调用,如使用内嵌样式,在html直接加入样式,给定外部样式文件,在外部样式文件中使用 @import
url(样式文件路径),这些都是大家常用的,其实还有就是使用javascript进行样式的定义。
第一种:
1 var style = document.createElement(’link’); 2 style.href = ’style.css’; 3 style.rel = ’stylesheet’; 4 style.type = ‘text/css’; 5 document.getElementsByTagName(’HEAD’).item(0).appendChild(style);
第二种简单:
1 document.createStyleSheet(style.css);
动态的 style 节点,使用程序生成的字符串:
1 var style = document.createElement(’style’); 2 style.type = ‘text/css’; 3 style.innerHTML=”body{ }”; 4 document.getElementsByTagName(’HEAD’).item(0).appendChild(style);
但是在上面只能在Firefox兼容,在IE里却不支持。
1 var sheet = document.createStyleSheet(); 2 sheet.addRule(’body’,'
如果按照上面的话就能成功,但是很麻烦,要把字符串拆开写。
我一直在搜索着用javascript定义样式的代码,终于找到了,代码如下。
1 document.createStyleSheet(”javascript:’body{’”);
但用上面的javascript代码唯一的缺点就是url 最大 255 个字符,长一点的就不行了,经过 SXPCrazy 提示,将代码进行修改成如下:
1 window.style=”body{”; 2 document.createStyleSheet(”javascript:style”);
完美解决!!代码:
1 <script> 2 function blue(){ 3 if(document.all){ 4 window.style="body{"; 5 document.createStyleSheet("javascript:style"); 6 }else{ 7 var style = document.createElement('style'); 8 style.type = 'text/css'; 9 style.innerHTML="body{ background-color:blue }"; 10 document.getElementsByTagName('HEAD').item(0).appendChild(style); 11 } 12 } 13 </script>
以上是完整代码!