Javascript动态生成CSS代码的两种方法

有时我们需要使用js动态地生成页面样式标签中的CSS代码。该方法是非常直接的,这是直接创建一个样式的元素,然后设置CSS代码元素的风格,并将它插入头元素。但也有一些兼容性的问题需要我们去解决。首先,在符合W3C标准的浏览器,我们只需要插入CSS代码作为文本节点插入到样式元素,而在伊江,我们需要使用的样式元素的stylesheet.csstext解决它。它也注意到,在一些版本的IE的重要一页的样式标签的数量是有限的,如果你超过了错误,你需要考虑这个。

方法1:

将ID名添加到标签并将其写入标签中。


VaR OCSS = document.getelementbyid(CSS);

OCss .innerHTML +=#箱{宽度:200px;};



这可以添加到样式中。

方法2:

有时我们需要使用js动态地生成页面样式标签中的CSS代码。该方法是非常直接的,这是直接创建一个样式的元素,然后设置CSS代码元素的风格,并将它插入头元素。但也有一些兼容性的问题需要我们去解决。首先,在符合W3C标准的浏览器,我们只需要插入CSS代码作为文本节点插入到样式元素,而在伊江,我们需要使用的样式元素的stylesheet.csstext解决它。它也注意到,在一些版本的IE的重要一页的样式标签的数量是有限的,如果你超过了错误,你需要考虑这个。

将代码直接放在下面,并查看注释。


功能addcss(csstext){
VaR的风格= document.createelement('style '), / /创建一个样式元素
头= document.head | | document.getelementsbytagname(很){ 0 }; / /得到头元素
style.type =中 / / / CSS的;这里必须显示类型属性设置为文本/ CSS样式的元素,或在IE中不发挥作用
如果(样式。样式表){ / /伊江
函数(){()
{ / /尝试IE样式表来防止超过一定数量的错误
style.stylesheet.csstext = csstext;
} catch(e){

}
}
/ /如果当前样式表不工作,是摆在异步线路
如果(样式。样式。禁用){
setTimeout(功能10);
其他{ }
Func();
}
},否则
在浏览器中,只需创建一个文本节点并将其插入样式元素中。
var文本= document.createtextnode(csstext);
style.appendchild(文本);
}
head.appendchild(风格); / /风格元素创建成头
}

使用
AddCSS(#演示{身高:30px;背景:# F00;});




当然,这只是一种基本的论证方法,需要在实践中加以完善。例如,每一个生成的CSS代码插入到样式元素,因此将在样式表超过极限数量在IE.没有错误

总结:上面的方法可以解决很多问题,有什么不懂的找我!

谢谢你的阅读。我希望你能帮助你,谢谢你对这个站的支持。