繁体   English   中英

如何更改svg的颜色?

[英]How to change the color of a svg?

使用figma创建了一个svg,并尝试更改CSS中的颜色。 填充:黑色不起作用。

SVG代码:

<svg width="58" height="57" viewBox="0 0 58 57" version="1.1" 
xmlns="http://www.w3.org/2000/svg" 
xmlns:xlink="http://www.w3.org/1999/xlink">
<title>track</title>
<desc>Created using Figma</desc>
<g id="Canvas" transform="translate(-12596 1455)">
<g id="track">
<use xlink:href="#path0_fill" fill="url(#pattern0)" 
transform="translate(12596 -1455)"/>
</g>
</g>
<defs>
<pattern id="pattern0" patternUnits="objectBoundingBox" patternContentUnits="objectBoundingBox" width="1" height="1">
<use xlink:href="#image0" transform="matrix(0.0172414 0 0 0.0175439 0 0)"/>
</pattern>
<path id="path0_fill" d="M 0 0L 58 0L 58 57L 0 57L 0 0Z"/>
<image id="image0" width="58" height="57" preserveAspectRatio="none" xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA5CAYAAABnLziGAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2xpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2NEU2MTVDOEVCQzJFNzExOEZEREJDOEMwMDc0QjFGOCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDo0NkI1NEZDMEVBRUUxMUU3OUNDQURGQjhFQzQwNTExNSIgeG1wTU06SW5zdGFuY2VJRD0ieG1wLmlpZDo0NkI1NEZCRkVBRUUxMUU3OUNDQURGQjhFQzQwNTExNSIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ0MgMjAxNyAoTWFjaW50b3NoKSI+IDx4bXBNTTpEZXJpdmVkRnJvbSBzdFJlZjppbnN0YW5jZUlEPSJ4bXAuaWlkOjgzNjI4N0NBMDFERkU3MTFBNjFFQzgyMkEyM0JDMTdBIiBzdFJlZjpkb2N1bWVudElEPSJ4bXAuZGlkOjY0RTYxNUM4RUJDMkU3MTE4RkREQkM4QzAwNzRCMUY4Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+Ui8d1QAABstJREFUeNrcm3ts11QUx7v+tgFjGwPHwMxJiIKvRdGJGB+bYwka0MwHJAZNiJCJwRiZmUHjgixGjAkRIyj/iEIgU4KZ2UCyQIRoJj5BIyEyifKQZey9wfjNPX6/eo5+m5zUtr+2v3Yr3OST9dfe23tP7+m555zbpWiapgRQHiEKiTwijWgjzhL1RK8yFoUF9YkbiV1ENxHXzEs/0UQs9LFfR6T4NKOfEEuIiDgXJ4b5WWJWI4Y2PxOPEWdGY0KTFbSAaCKu1RWE+JWoJRqITgh8FXEn8QxRTIxD/SjxBNEYZtWdRnQJtTxFlDloN5P4UrQbIRYErbrJND4hBtvoof3r4l2OEgVBCqp6VIQ3iBtw/DXxkIu2FVDvvcRanJtA7A6b6qbDenLpxG+nbZ+DqnI5jHMHhWaUhEl1K8XAKgzXWP2+IjYlEHKQeFy0GcT5A2ES9AcMqsvk2qviIexwIKRimNX+sAiqEhcxqN0m12cQ7ULYbcQqg5CLTdqtxHU2TnPDIGgmEcOgKi3qXE10mHhFLOQSizYzxMNYFQarywt/Co6tfNZWYg6cBb0MEU/ZWFb2hWOiD9+LW0FHxHGqTb0WCHueGICQnznsIxaEoKku63dhINwuP0HdFriIOYbZNSs3wR9WEOWM+Yz+DWEVh07CiAMhuZTjlWC/+JswCMrlCP7eSuT6NI4nhcacCoug7wu37U0fxsCzORvHdWEL084gNGNrWkoc9th/BvEHMR2xawEs8KjO6HgiXSAN10rEnnx+jwPDZFUOQkguHwghU3HvbCLTMA4jnp36Mrh3HDpdAlG4Z9tFva3CGehy6ZBPIY6K9s3i2ib0xX0OwdG4ZII+vr1OAguzk/WademHG6jX3SeuDUP4fJsOxxPVRJ9o9xeRLeq0a+7LIi85o8+JR3F8HAt+BEvFFuJjQ/0PieXCYxokjhHfYqmIYZ0sI27DuioteDFSKnrh3NNqYhYxFeeaiR7xqsWh1jfj9wFigVvVrcNTYp82w6EqlhInXcwAq3pVgnvWCEd/jkWds6jDKp6TjK871eGrfggzMJ/4gjgHTYgDts4dxHfIMLA/uyHBPSeK48kWdTbjL3tV1W5ntF7M6MwkIoZstJ9F5Hlo/46Y0VKLOhki29HtdkZbhXN9MYml6wK8nJNEe0B+QFQ4GTzrS92so9UwMCsc+qljXWpExPOaG0E78R7tCJEwgzbX2LP6SURBt1uFaVOIe00Ejzt4OHq00R3kbgKy/AOGvlUsf1H43A2ouw7+8/+MUaeWXLmA9Inf6Y/Noo+4BX0wdly/VRjR1WbGaGKSTzwD/miQSYEUC7KIa1DnPTHTG+Gw5MmbPYCNnpi4qelKZOhYgce0D5bV79IvjuuQsZD9R7DBdQjn3iKmEc9DrruJ0zBQG5XR3qd0wQahtoUu2hURvxter5pUw8u9AsYplmAW+4htSK0EVVQPHpruP8+G5/UiZvcVKeguYrGLGz4MwlqqkJLlDbF01eFaZVaGLgNnotnMsj1N7MQLLddJYxwXwbq5ZxQH7HV7c5xVXrcxpDOjBnEDFr6SuEe5gopZpn4d1p4okl69YzS2uAN3NKkZLRR528khmRCvgqbYCTos1tD4Za6xqtOXvG0MBzkgjrs83qPX7h2VD6EJWfkRwzKjIRjIE/mgmI0GRHC/uGK9LaiiXhwe111C/d5FHioNvzUEE7mwJR1op4p78Zivs9uSkOnOK9rqfkosFOl+DbOgf9NnZiSMwXjMJgryYkw0k/6lDYlY9K9HOZabTKwSJ5CWPI2QpwJ+I5c/iZfhQLOQzxIv4eFwonmeIcxKZiL0jyfXIgTj8j2xBuNQkfB+AUJxcq8I9TjTsMUq3alzHiHOcfw+h9+tFvWXibCoKoCwTd/GOObg+yf9y5cS/YTdtmE7wiO2fj8S90MV3uawx6JNJ7SgD8lq1YdZ1bCez8Vv/h6i1ibFmgVf/Bflv63N651YXd1xKBbnexKYcxZ0EvFgADaFhT6aIFuYhZh6fiJjpJdavJcqZjJNJIqtyiQxoCEL46KJv4rDOhGMlc/dAfthF63oS5RukNoS7XjnwMBMQGqR107+amSGSd1yLE184+0IfP1QXR70dMxkGv4WmdTjj563on/OH61H/+q/mubCGKwXL/sR4j5s6ObD+AyIb29zAzBGH4n+9yOPlIlU6xrRfw/2YZP6RK7JkGsdwJadJnKqSwNKlvEG9G+GvvrFl6H69mGJX1931orv9mThRHh5wJnBdHztHTPpv4WY5/d/SfCXKMuxz8E7bvuRNB6t2HURsYy4BQ5/A/zhEasG/wgwAPFlXvD3qCe+AAAAAElFTkSuQmCC"/>
</defs>
</svg>

解决方案CSS + SVG

第一个答案是纯粹借助SVG的解决方案。
如果要控制外部样式表中图像的颜色,则必须在svg文件的第一行中指定此样式表的路径。

<?xml-stylesheet type="text/css" href="style.css"?>  

您必须在其中指定样式表的完整路径。

  • 图像线条的颜色将产生一个滤镜:

    #image0 { filter:url(#WhiteFilter); }

  • 为图像背景上色

    #path0_fill { fill:black; }

下面是完整的代码:

 svg path { fill:inherit; stroke:inherit; } #path0_fill { fill:black; } #image0 { filter:url(#WhiteFilter); } 
 <?xml-stylesheet type="text/css" href="style.css"?> <svg width="58" height="57" viewBox="0 0 58 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > <defs> <!-- black filter --> <filter id="BlackFilter" x="-20" y="-20" width="75" height="75"> <feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 "/> </filter> <!-- white filter --> <filter id="WhiteFilter" x="-20" y="-20" width="75" height="75"> <feColorMatrix in="SourceGraphic" type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "/> </filter> </defs> <path id="path0_fill" d="M 0 0L 58 0L 58 57L 0 57L 0 0Z" /> <image id="image0" width="58" height="57" preserveAspectRatio="none" xlink:href="data:image/png;base64,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" /> </svg> 

更新资料

由于评论而添加:

  • 您的示例中的线条图像机绘制filter
  • 示例中的path在机器图像周围绘制了边框,因此CSS中没有后台写入

#path0_fill { fill:none; stroke:black;

 svg path { fill:inherit; stroke:inherit; } #path0_fill { fill:none; stroke:black; stroke-width:2px; } #image0 { filter:url(#BlackFilter); } 
 <?xml-stylesheet type="text/css" href="style.css"?> <svg width="58" height="57" viewBox="0 0 58 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > <defs> <!-- black filter --> <filter id="BlackFilter" x="-20" y="-20" width="75" height="75"> <feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 "/> </filter> <!-- white filter --> <filter id="WhiteFilter" x="-20" y="-20" width="75" height="75"> <feColorMatrix in="SourceGraphic" type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "/> </filter> </defs> <path id="path0_fill" d="M 0 0L 58 0L 58 57L 0 57L 0 0Z" /> <image id="image0" width="58" height="57" preserveAspectRatio="none" xlink:href="data:image/png;base64,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" /> </svg> 

解决方案SVG

无法以通常的方式对base64格式的图像进行样式化:

  • 都不在外部样式表中css fill:black;

  • 也不使用演示样式SVG fill="black"

但是借助SVG滤镜,您可以将图像绘制成任何颜色

我认为,有一篇非常有用的文章介绍了如何使用滤镜为图像着色。

过滤器以黑色线条绘画:

<!-- black filter  -->
 <filter id="BlackFilter" x="-20" y="-20" width="75" height="75">
        <feColorMatrix in="SourceGraphic" type="matrix"
                values="0 0 0 0 0
                        0 0 0 0 0
                        0 0 0 0 0
                        0 0 0 1 0
                "/>
    </filter>        

在下面的示例中, path负责为背景着色

<path id="path0_fill" d="M 0 0L 58 0L 58 57L 0 57L 0 0Z" fill="white"/> 

不幸的是,由于这个问题,我不明白您要用黑色绘制什么:图像的背景或轮廓,所以我给出两个选择。

#1白色背景,黑色线条

 <svg width="58" height="57" viewBox="0 0 58 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > <defs> <!-- black filter --> <filter id="BlackFilter" x="-20" y="-20" width="75" height="75"> <feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 "/> </filter> </defs> <path id="path0_fill" d="M 0 0L 58 0L 58 57L 0 57L 0 0Z" fill="white"/> <image id="image0" width="58" height="57" filter="url(#BlackFilter)" preserveAspectRatio="none" xlink:href="data:image/png;base64,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" /> </svg> 

#2黑色背景,白线

 <svg width="58" height="57" viewBox="0 0 58 57" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" > <defs> <!-- white filter --> <filter id="WhiteFilter" x="-20" y="-20" width="75" height="75"> <feColorMatrix in="SourceGraphic" type="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 "/> </filter> </defs> <path id="path0_fill" d="M 0 0L 58 0L 58 57L 0 57L 0 0Z" fill="black"/> <image id="image0" width="58" height="57" preserveAspectRatio="none" filter="url(#WhiteFilter)" xlink:href="data:image/png;base64,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" /> </svg> 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM