欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

css脚本化 使用styleSheets插入css样式

程序员文章站 2022-07-04 21:19:06
...
var obj={
            width:"50px",
            height:"50px",
            backgroundColor:"red",
            border:"1px solid #000000"
        }

        insertCss("div",obj);
        insertCss("div:hover",{
            width:"100px",
            height:"100px",
            borderTop:"1px solid #000000",
            borderBottom:"1px solid #000000",
            fontSize:"25px"
        });

        console.log(document.styleSheets);

        function insertCss(select,styles){
            if(document.styleSheets.length===0){//如果没有style标签,则创建一个style标签
                var style=document.createElement("style");
                document.head.appendChild(style);
            }
            var styleSheet=document.styleSheets[document.styleSheets.length-1];//如果有style 标签.则插入到最后一个style标签中
            var str=select+" {";//插入的内容必须是字符串,所以得把obj转化为字符串
            for(var prop in styles){
                str+=prop.replace(/([A-Z])/g,function(item){//使用正则把大写字母替换成 '-小写字母'
                    return "-"+item.toLowerCase();
                })+":"+styles[prop]+";"
            }
            str+="}";
            styleSheet.insertRule(str,styleSheet.cssRules.length);//插入样式到最后一个style标签中的最后面
        }