js实现删除多行不同的color

61 阅读1分钟

在实际工作时有一个需求是导入多个svg转成字体图标,然后进行动态改色

由于导入时,svg带有颜色,生成的icon有默认颜色,

解决的方案就是提高css的权重,但是多人开发时可能会导致其他人不清楚这个方案,所以在导出的时候进行转换,把每一行的color删除了再转成json粘贴到css文件里面

然后我向gpt进行提问生成html文件,可以部署到本地上,要用的时候就直接输入就行 image.png

gpt4的答案很准确,3.5的答案有点不准,需要多次提问,输出的html稍微进行样式调整就行

实现的效果

image.png

html全部代码


<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width,initial-scale=1.0" />
    <title>Style Converter</title>
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
  </head>
  <body>
    <div class="wrapper">
      <div class="col-6 input">
        <h4>Input CSS</h4>
        <textarea
          id="input-css"
          class="form-control"
          rows="30"
          placeholder="Paste your CSS here..."
        ></textarea>
      </div>
      <div class="col-6 output">
        <h4>
          Output CSS 
          <button id="copy-button" class="btn btn-primary mt-2">
            Copy to Clipboard
          </button>
        </h4>

        <textarea
          id="output-css"
          class="form-control"
          rows="30"
          readonly
        ></textarea>
      </div>
    </div>

    <style>
      .wrapper {
        display: flex;
        gap: 2rem;
      }
      .col-6 {
        width: 100vw;
      }
      .form-control {
        font-size: 1.2rem;
        width: 100%;
      }
      h4 {
        margin-bottom: 1rem;
      }
    </style>

    <!-- Custom JS -->
    <script>
      $(document).ready(function () {
        $('#input-css').on('input', function () {
          const inputCSS = $(this).val()
          const outputCSS = inputCSS.replace(/color:.+;/g, '')
          $('#output-css').val(outputCSS)
        })

        $('#copy-button').on('click', function () {
          const outputCSS = $('#output-css')
          outputCSS.select()
          document.execCommand('copy')
          alert('Output CSS copied to clipboard!')
        })
      })
    </script>
  </body>
</html>

总结一下:

ai的发展很快,合理利用变成生产效率工具

各位大佬有更加好的实现方式?