{"id":6882,"date":"2023-11-08T02:45:50","date_gmt":"2023-11-07T17:45:50","guid":{"rendered":"https:\/\/engineering.webstudio168.jp\/?p=6882"},"modified":"2023-11-10T01:17:42","modified_gmt":"2023-11-09T16:17:42","slug":"svg-to-css-background-image-prop-tool","status":"publish","type":"post","link":"https:\/\/engineering.webstudio168.jp\/blog\/svg-to-css-background-image-prop-tool\/","title":{"rendered":"\u3010\u8272\u5909\u66f4\u30fb\u30d7\u30ec\u30d3\u30e5\u30fc\u6a5f\u80fd\u4ed8\u304d\u3011SVG\u30bf\u30b0\u3092Base64\u5909\u63db\u3057\u3066CSS\u306ebackground-image\u30d7\u30ed\u30d1\u30c6\u30a3\u7528\u306b\u5909\u63db\u3059\u308b\u30c4\u30fc\u30eb\u3010Photoshop,Illustrator\u3011"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_86 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">\u76ee\u6b21<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/engineering.webstudio168.jp\/blog\/svg-to-css-background-image-prop-tool\/#%E6%9C%AC%E5%A4%89%E6%8F%9B%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E7%89%B9%E9%95%B7\" >\u672c\u5909\u63db\u30c4\u30fc\u30eb\u306e\u7279\u9577<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/engineering.webstudio168.jp\/blog\/svg-to-css-background-image-prop-tool\/#%E7%89%B9%E3%81%AB%E9%9A%A0%E3%81%99%E3%81%93%E3%81%A8%E3%81%A7%E3%82%82%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E8%BC%89%E3%81%9B%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%BE%E3%81%99\" >\u7279\u306b\u96a0\u3059\u3053\u3068\u3067\u3082\u306a\u3044\u306e\u3067\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u8f09\u305b\u3066\u304a\u304d\u307e\u3059<\/a><\/li><\/ul><\/nav><\/div>\n\n<div>\n    <label for=\"svgInput\" style=\"font-weight: bold;\">SVG\u30bf\u30b0\u3092\u5165\u529b:<\/label><br>\n    <textarea id=\"svgInput\" rows=\"10\" cols=\"50\" placeholder=\"Paste your SVG code here\"><\/textarea>\n<\/div>\n<button id=\"convbtn\" onclick=\"updatePreview()\">\u5909\u63db<\/button><br>\n<label style=\"font-weight: bold;\" for=\"cssOutput\">CSS background-image:<\/label><br>\n<textarea id=\"cssOutput\" rows=\"4\" cols=\"50\" readonly><\/textarea>\n<p style=\"font-weight: bold;\">SVG\u30d7\u30ec\u30d3\u30e5\u30fc:<\/p>\n    <label for=\"colorPicker\" style=\"font-weight: bold;\">\u8272\u3092\u9078\u629e:<\/label>\n    <input type=\"color\" id=\"colorPicker\"><br>\u203bfill\u5024\u304c\u7121\u3044\u306a\u3069\u8272\u5909\u66f4\u3067\u304d\u306a\u3044\u5834\u5408\u3082\u3042\u308a\u307e\u3059<br>\u203b\u8272\u3092\u9078\u629e\u3059\u308b\u3068background-image\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u30b3\u30fc\u30c9\u3082\u5909\u308f\u308a\u307e\u3059\n<div id=\"preview\"><\/div>\n<style>\n    #convbtn {\n        padding: 1em;\n        cursor: pointer;\n    }\n\n    #preview {\n        width: 300px;\n        height: 300px;\n        border: 1px solid #ccc;\n        margin-top: 10px;\n        background-size: contain;\n        background-repeat: no-repeat;\n        background-position: center;\n    }\n\n    #colorPicker {\n        margin-bottom: 1em;\n    }\n<\/style>\n<script>\n    let originalSVG = ''; \/\/ Original SVG data\n\n    function updatePreview() {\n        let svgInput = document.getElementById(\"svgInput\");\n        originalSVG = svgInput.value; \/\/ Store the original SVG\n        setSVGBackground(originalSVG); \/\/ Set the original SVG as the background\n    }\n\n    function applyColorChange() {\n        let colorPicker = document.getElementById(\"colorPicker\");\n        if (originalSVG !== \"\") {\n            \/\/ Replace fill values only within the SVG tags, leaving original SVG colors intact elsewhere\n            let updatedSVG = originalSVG.replace(\/(<svg[^>]*>)|(<\\\/svg>)\/gi, (match) => match)\n              .replace(\/fill=\"([^\"]*)\"\/gi, `fill=\"${colorPicker.value}\"`)\n              .replace(\/fill:([^;>]*)\/gi, `fill:${colorPicker.value}`);\n            setSVGBackground(updatedSVG); \/\/ Update the background with the new color\n        }\n    }\n\n    function setSVGBackground(svg) {\n        let cssOutput = document.getElementById(\"cssOutput\");\n        let preview = document.getElementById(\"preview\");\n        let encodedSVG = btoa(unescape(encodeURIComponent(svg)));\n        cssOutput.value = `background-image: url('data:image\/svg+xml;base64,${encodedSVG}');`;\n        preview.style.backgroundImage = `url('data:image\/svg+xml;base64,${encodedSVG}')`;\n    }\n\n    \/\/ Add event listener to the color picker to change colors on input\n    document.getElementById(\"colorPicker\").addEventListener(\"input\", applyColorChange);\n<\/script>\n\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E6%9C%AC%E5%A4%89%E6%8F%9B%E3%83%84%E3%83%BC%E3%83%AB%E3%81%AE%E7%89%B9%E9%95%B7\"><\/span>\u672c\u5909\u63db\u30c4\u30fc\u30eb\u306e\u7279\u9577<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u30c4\u30fc\u30eb\u306f\u3001<strong>SVG\u30bf\u30b0\u304b\u3089<\/strong>\u76f4\u63a5<strong>CSS\u306ebackground-image\u30d7\u30ed\u30d1\u30c6\u30a3\u3078\u306e\u5909\u63db<\/strong>\u3092\u7c21\u5358\u306b\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u308b\u7121\u6599\u306e\u30a6\u30a7\u30d6\u30a2\u30d7\u30ea\u3067\u3059\u3002Photoshop\u3084Illustrator\u3067\u30b3\u30d4\u30fc\u3055\u308c\u305fSVG\u30b3\u30fc\u30c9\u3084\u30a4\u30f3\u30bf\u30fc\u30cd\u30c3\u30c8\u4e0a\u3067\u898b\u3064\u3051\u305fSVG\u30d5\u30a1\u30a4\u30eb\u3082\u5bfe\u5fdc\u3057\u3066\u304a\u308a\u3001\u30af\u30e9\u30b9\u3084\u30b9\u30bf\u30a4\u30eb\u3092\u30b5\u30cb\u30bf\u30a4\u30ba\u3057\u3066\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3\u3092\u8003\u616e\u3057\u3066\u3044\u307e\u3059\u3002\u5909\u63db\u3055\u308c\u305f\u30b3\u30fc\u30c9\u306f\u30d7\u30ec\u30d3\u30e5\u30fc\u3067\u30ea\u30a2\u30eb\u30bf\u30a4\u30e0\u306b\u8868\u793a\u3055\u308c\u3001\u5b89\u5168\u304b\u3064\u8fc5\u901f\u306bCSS\u7528\u306b\u5909\u63db\u53ef\u80fd\u3067\u3059\u3002<code>&lt;svg><\/code>\u306e\u4e2d\u8eab\u3092<strong>Base64\u5909\u63db\u3057\u3066CSS\u306ebackground\u30d7\u30ed\u30d1\u30c6\u30a3\u7528\u306b\u66f8\u304d\u63db\u3048\u3066\u51fa\u529b<\/strong>\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Photoshop, Illustrator\u3067\u66f8\u304d\u51fa\u3055\u308c\u305fSVG\u306f\u8272\u306e\u6307\u5b9a\u304c\u30ab\u30e9\u30fc\u30d4\u30c3\u30ab\u30fc\u3067\uff08\u307b\u307c\uff09\u5909\u66f4\u53ef\u80fd\u3067\u3059\u3002<br>\u203b\u4e00\u90e8\u7121\u6599\u3067\u914d\u5e03\u3055\u308c\u3066\u3044\u308bSVG\u3082\u5bfe\u5fdc\u3057\u307e\u3059\u304c\u3001\u30ab\u30e9\u30fc\u304c\u6307\u5b9a\u3055\u308c\u3066\u3044\u308bSVG\u3084\u8907\u96d1\u306aSVG\u3067\u306f\u8272\u306e\u5909\u66f4\u304c\u51fa\u6765\u306a\u3044\u5834\u5408\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u751f\u6210\u3055\u308c\u305fbackground-image\u30d7\u30ed\u30d1\u30c6\u30a3\u306fCSS\u3067\u305d\u306e\u307e\u307e\u4f7f\u3048\u308b\u306e\u3067\u975e\u5e38\u306b\u5f37\u529b\u306a\u30c4\u30fc\u30eb\u306b\u306a\u308a\u5f97\u308b\u304b\u3068\u8003\u3048\u3066\u3044\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u30d7\u30ec\u30d3\u30e5\u30fc\u30a8\u30ea\u30a2\u3092\u30c7\u30d9\u30ed\u30c3\u30d1\u30fc\u30c4\u30fc\u30eb\u3067\u898b\u308b\u3068\u751f\u6210\u3055\u308c\u305fCSS\u304c\u3079\u305f\u66f8\u304d\u3055\u308c\u3066\u3044\u308b\u306e\u3067\u305d\u308c\u3092\u6301\u3063\u3066\u3063\u3066\u3082\u3089\u3063\u3066\u3082OK\u3067\u3059\u3002\u4e00\u756a\u304a\u3059\u3059\u3081\u306f\u3001<code>background-size<\/code>\u3068<code>::before<\/code>\u3084<code>::after<\/code>\u306e\u4f75\u7528\u3067\u3057\u3087\u3046\u3002\u3053\u306e\u65b9\u6cd5\u3067\u3084\u308c\u3070SVG\u30d5\u30a1\u30a4\u30eb\u3092\u30a2\u30c3\u30d7\u3059\u308b\u624b\u9593\u3082\u306a\u304f\u3001\u77ac\u6642\u306bCSS\u306e\u307f\u3067\u518d\u73fe\u3059\u308b\u3053\u3068\u304c\u51fa\u6765\u307e\u3059\u3002\u203b\u5fae\u5999\u306a\u8abf\u6574\u306f\u500b\u3005\u3067\u304a\u3053\u306a\u3046\u3088\u3046\u306b\u304a\u9858\u3044\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"%E7%89%B9%E3%81%AB%E9%9A%A0%E3%81%99%E3%81%93%E3%81%A8%E3%81%A7%E3%82%82%E3%81%AA%E3%81%84%E3%81%AE%E3%81%A7%E3%82%BD%E3%83%BC%E3%82%B9%E3%82%B3%E3%83%BC%E3%83%89%E8%BC%89%E3%81%9B%E3%81%A6%E3%81%8A%E3%81%8D%E3%81%BE%E3%81%99\"><\/span>\u7279\u306b\u96a0\u3059\u3053\u3068\u3067\u3082\u306a\u3044\u306e\u3067\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9\u8f09\u305b\u3066\u304a\u304d\u307e\u3059<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u306a\u3093\u304b\u306e\u53c2\u8003\u306b\u306a\u308c\u3070\u5e78\u3044\u3067\u3059\u3002\u5f53\u30da\u30fc\u30b8\u3092\u305f\u307e\u306b\u4f7f\u3063\u3066\u304f\u308c\u308c\u3070\u305d\u308c\u3067\u5341\u5206\u3067\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-js\" data-file=\"svg-css-changer.js\" data-lang=\"JavaScript\"><code>let originalSVG = &#39;&#39;;\n\nfunction updatePreview() {\n    let svgInput = document.getElementById(&quot;svgInput&quot;);\n    originalSVG = svgInput.value;\n    setSVGBackground(originalSVG);\n}\n\nfunction applyColorChange() {\n    let colorPicker = document.getElementById(&quot;colorPicker&quot;);\n    if (originalSVG !== &quot;&quot;) {\n        let updatedSVG = originalSVG.replace(\/(&lt;svg[^&gt;]*&gt;)|(&lt;\\\/svg&gt;)\/gi, (match) =&gt; match)\n            .replace(\/fill=&quot;([^&quot;]*)&quot;\/gi, `fill=&quot;${colorPicker.value}&quot;`)\n            .replace(\/fill:([^;&gt;]*)\/gi, `fill:${colorPicker.value}`);\n        setSVGBackground(updatedSVG);\n    }\n}\n\nfunction setSVGBackground(svg) {\n    let cssOutput = document.getElementById(&quot;cssOutput&quot;);\n    let preview = document.getElementById(&quot;preview&quot;);\n    let encodedSVG = btoa(unescape(encodeURIComponent(svg)));\n    cssOutput.value = `background-image: url(&#39;data:image\/svg+xml;base64,${encodedSVG}&#39;);`;\n    preview.style.backgroundImage = `url(&#39;data:image\/svg+xml;base64,${encodedSVG}&#39;)`;\n}\n\ndocument.getElementById(&quot;colorPicker&quot;).addEventListener(&quot;input&quot;, applyColorChange);\n<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u4f55\u304b\u8ffd\u52a0\u6a5f\u80fd\u306e\u3054\u8981\u671b\u3084\u30d0\u30b0\u306e\u5831\u544a\u7b49\u3042\u308a\u307e\u3057\u305f\u3089<a href=\"https:\/\/engineering.webstudio168.jp\/contact\/\">https:\/\/engineering.webstudio168.jp\/contact\/<\/a>\u307e\u3067\u3054\u4e00\u5831\u304f\u3060\u3055\u3044\u3002\u5584\u51e6\u306f\u3057\u307e\u3059\u3002\u6642\u9593\u304c\u3042\u308c\u3070\u3067\u3059\u304c\u3001\u3001\u3001<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SVG\u30bf\u30b0\u3092\u5165\u529b: \u5909\u63db CSS background-image: SVG\u30d7\u30ec\u30d3\u30e5\u30fc: \u8272\u3092\u9078\u629e: \u203bfill\u5024\u304c\u7121\u3044\u306a\u3069\u8272\u5909\u66f4\u3067\u304d\u306a\u3044\u5834\u5408\u3082\u3042\u308a\u307e\u3059\u203b\u8272\u3092\u9078\u629e\u3059\u308b\u3068background-image\u30d7\u30ed\u30d1\u30c6\u30a3\u306e\u30b3\u30fc\u30c9\u3082 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":6921,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[51,8,130,99,39],"class_list":["post-6882","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-43","tag-css","tag-javascript","tag-web","tag-99","tag-39"],"_links":{"self":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts\/6882","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/comments?post=6882"}],"version-history":[{"count":100,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts\/6882\/revisions"}],"predecessor-version":[{"id":6994,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/posts\/6882\/revisions\/6994"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/media\/6921"}],"wp:attachment":[{"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/media?parent=6882"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/categories?post=6882"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineering.webstudio168.jp\/blog\/wp-json\/wp\/v2\/tags?post=6882"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}