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