zoukankan      html  css  js  c++  java
  • 内部样式编写方法

    在可视化的组件开发中如果要穿透第三方的ui组件在vue文件中不能使用scope的情况下,可以使用内部样式去编写覆盖代码如下:

    /**
     * 设置内部样式
     * @param {*} textContent 样式模板字符串
     * @param {*} id 样式唯一ID
     * @param {*} prefix 
     */
    export const setHeaderStyle = (textContent,prefix,id) => {
      const useStyle = document.createElement("style");
      useStyle.id = `${prefix}-${id}`;
      useStyle.textContent =textContent
      if (document.querySelector(`#${prefix}-${id}`)) {
        const newStyle = document.querySelector(`#${prefix}-${id}`);
        newStyle.textContent = textContent
        document.head.removeChild(
          document.querySelector(`#${prefix}-${id}`)
        );
        document.head.appendChild(newStyle);
      } else {
        document.head.appendChild(useStyle);
      }
    };

    使用案例:

          let textContent = `
            #data-list-${this.elementUid}::-webkit-scrollbar-thumb{
              background: ${val};
              opacity: 0.12;
              border-radius: 0.125rem;
            }
          `;
          setHeaderStyle(textContent, 'custom-list',this.elementUid);

    其中val就是传过来的动态值,uid是js方法生成的uuid

  • 相关阅读:
    【随笔】新博客
    【Linux】grep命令
    【C/C++】C++11 Move, Forward
    【C/C++】C++11 Variadic Templates
    【C/C++】C++11 Lambda
    【Linux】gdb调试
    【C/C++】数组 & 指针
    【PAT】反转链表
    【OS】Process & Thread
    【Python】Scrapy基础
  • 原文地址:https://www.cnblogs.com/llcdbk/p/14174260.html
Copyright © 2011-2022 走看看