js把css样式转成内嵌

Posted ~聪聪

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了js把css样式转成内嵌相关的知识,希望对你有一定的参考价值。

通过邮件内容是要内嵌样式的

//根据容器ID来渲染行内样式,避免长时间卡顿
    let translateStyle = contentId => {
        const sheets = document.styleSheets;
        const sheetsArry = Array.from(sheets);
        const $content = $(‘#‘ + contentId);
        sheetsArry.forEach(sheetContent => {
            const { rules, cssRules } = sheetContent;
            //cssRules兼容火狐
            const rulesArry = Array.from(rules || cssRules || []);
            rulesArry.forEach(rule => {
                const { selectorText, style, styleMap } = rule;
                //全局样式不处理
                if (selectorText !== ‘*‘) {
                    //兼容某些样式在转换的时候会报错
                    try {
                        const select = $content.find(selectorText);
                        select.each(domIndex => {
                            const dom = select[domIndex];
                            let i = 0;
                            const domStyle = window.getComputedStyle(dom, null)
                            while (style[i]) {
                                //样式表里的className是驼峰式,转换下便对应上了
                                const newName = style[i].replace(/-w/g, function (x) {
                                    return x.slice(1).toUpperCase();
                                });
                                $(dom).css(style[i], domStyle[newName]);
                                i++;
                            }
                        })
                    } catch (e) {
                        console.log(‘转换成行内样式失败‘);
                    }
                }
            })
        })
    }

    translateStyle("main-page");

  转自:https://www.jianshu.com/p/d5f2aa752583

以上是关于js把css样式转成内嵌的主要内容,如果未能解决你的问题,请参考以下文章

如何让Jekyll支持Markdown的代码块格式

前端学习:CSS基础

js获取css的各种样式并且设置他们

前端css基本布局

javascript内嵌样式与外联样式怎么做?

JavaWindows调用Typora把md文件转成html并带上css样式,理论上可以调用任何exe程序