可缩放矢量图形(SVG)是一种基于XML的二维矢量图形格式,也可以在HTML中使用。不要仅仅因为您的项目使用SVG而添加此标记。相反,如果您的问题是关于SVG或与其密切相关的问题,请添加标记,例如如何使用SVG实现某些功能。
我正在尝试创建一个滤镜,既可以将亮度降低到 30%,又可以将图像灰度到 90%。在 webkit 上,这非常简单,但 Gecko 目前仅支持通过
我需要将其实现为圆环图 - 我四处寻找 css/svg/canvas 解决方案,但找不到任何可靠的方法。 我知道我可以将每个部分的角完全圆化,...
我正在尝试使用 PIXIJs 库来显示 SVG 图像,但在智能手机上 SVG 看起来很模糊。 这是示例代码 var $ = window.jQuery; var PIXI = window.PIXI; $(文档).准备好(
有一个渐变,定义如下: 有一个渐变,定义如下: <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="out-of-flow"> <defs> <!-- Gradients for circle charts. --> <linearGradient id="circle-graph-blue-greenish-gradient"> <stop offset="0" stop-color="#00d5bd" /> <stop offset="100" stop-color="#24c1ed" /> </linearGradient> </defs> </svg> 它在 CSS 类中被引用,应用于另一个 <path> 中的 <svg>: .circle-graph-blue-greenish { stroke: url(#circle-graph-blue-greenish-gradient); stroke-width: 5; fill: transparent; stroke-linecap: round; stroke-linejoin: round; } svg { height: 50vh; } <svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" class="out-of-flow"> <defs> <!-- Gradients for circle charts. --> <linearGradient id="circle-graph-blue-greenish-gradient"> <stop offset="0" stop-color="#00d5bd" /> <stop offset="100" stop-color="#24c1ed" /> </linearGradient> </defs> </svg> <svg class="rotate-90" width="75%" viewBox="0 0 100 100"> <path class="circle-graph-underlay" d="M5,50 A45,45,0 1 1 95,50 A45,45,0 1 1 5,50"></path> <path d="M5,50 A45,45,0 1 1 95,50 A45,45,0 1 1 5,50" class="circle-graph circle-graph-blue-greenish" style="stroke-dashoffset: 251.677;stroke-dasharray: 282.783;"></path> </svg> 效果很好。我想将渐变定义移至 CSS 类中: .circle-graph-blue-greenish { stroke: linear-gradient(0deg, rgba(0,213,189,1) 0%, rgba(36,193,237,1) 100%); stroke-width: 5; fill: transparent; stroke-linecap: round; stroke-linejoin: round; } 但不幸的是它已经停止工作(没有可见的中风)。 为什么这两个定义不相同?如何在 CSS 中定义 stroke 的渐变? UPD 看来我可以移动颜色值: <stop offset="0" stop-color="var(--circle-graph-blue-greenish-gradient-color-1)" /> 总比没有好。 想要在 CSS 中完成所有事情。 .pie { --my-color-1: #00d5bd; width: 200px; aspect-ratio: 1; border-radius: 50%; background-image: radial-gradient(circle, black 60%, transparent 60%), conic-gradient(transparent 75%, var(--my-color-1) 75%, var(--my-color-1) 84%, orange 84%, orange 92%, red 92%), radial-gradient(circle, black 65%, transparent 65%); } <div class="pie"></div>
较暗的半透明环应该与较亮的半透明环具有相同的厚度,但由于某种原因不是。当我从“前景”圆圈中去掉不透明度时,问题就开始了。我不知道为什么,并且
我想要做的是将 SVG 绘制在画布上的蓝色圆圈上。蓝色圆圈应该是背景。 然而,结果只是 SVG。 最终结果应该类似于 (
我在 Web Worker 内部使用 canvg 将 SVG 绘制到 OffscreenCanvas 中。 我将用黑色绘制 SVG。是否可以在不修改 SVG 本身或使用 CS 的情况下将颜色应用于 SVG...
当 div 大小提前未知时,使用 CSS 网格布局将 div 与 svg 重叠
我有一个div: 它有宽度,但提前不知道 它可能有也可能没有设置高度 当未设置高度时,它应该垂直扩展以匹配内容。 我想覆盖那个迪...
我正在使用一个库,该库将其部分状态呈现为 SVG 文档。 我想在 Windows 窗体或 WPF 环境中呈现它。目前有办法做到这一点吗? 如果...
我正在尝试将 SVG 上传到 Odoo,但 Odoo 正在修改该文件。具体来说,它看起来像是删除了文件的 JavaScript 部分。图像的行为应如下所示: https://沙恩。
我使用 flutter_launcher_icons 包在 flutter 应用程序中设置默认应用程序图标(特别适用于 Android)。 现在,我必须使用 svg 文件作为图标,因为 png 图标在深色主题中无法正确显示
更新Android studio中导入矢量资源时存储svg文件的默认位置
以前,在android studio中导入矢量资源时,svg文件默认存储在drawable文件夹中,但现在每次我都必须在android studio中的弹出窗口中手动选择位置,
我想在我的 svg 上添加一个签名动画,我已经尝试过了,但只显示了一半?
<svg xmlns="http://www.w3.org/2000/svg" width="282" height="122" viewBox="0 0 282 122" fill="none"> <!-- Signature Path --> <path id="signature" d="M59.1294 91.0229C59.2018 87.6683 57.6122 84.619 56.5486 81.5202C54.828 76.5073 53.9153 71.3684 52.7901 66.1947C48.7362 47.5558 44.4087 28.9291 39.3774 10.5267C37.5692 3.91298 36.1171 8.64639 34.837 12.4986C32.4899 19.5623 30.9263 27.1572 29.0077 34.3523C27.1718 41.2371 26.3716 48.4466 24.7866 55.2446C22.84 63.5931 21.5986 72.0237 19.7423 80.3835C19.2622 82.5455 16.7243 96.5695 19.769 94.469C23.0249 92.2228 28.2772 89.4289 30.6095 86.3298C31.8945 84.6223 34.839 81.0546 34.0555 78.638C32.5327 73.9409 23.7549 70.6068 19.9807 68.2569C17.0475 66.4308 14.0207 65.0872 10.602 64.7279C9.42022 64.6036 6.21447 64.835 5.35755 63.9882C3.77332 62.4227 3.72734 61.5739 3.95931 59.3668C4.39759 55.1969 8.95733 56.1224 12.3685 56.4356C36.6373 58.664 62.3092 55.5404 86.4512 54.237C91.0087 53.991 83.1485 57.1707 81.2589 57.9302C72.4695 61.4631 75.2696 76.1022 84.2826 77.5587C92.4344 78.8761 91.2261 46.4935 93.3015 54.486C94.6132 59.5375 94.3991 65.1649 96.1407 70.0446C98.0208 75.3128 98.4224 77.5413 102.803 72.5345C105.274 69.71 107.509 66.7204 109.318 63.4227C110.749 60.8149 110.89 58.3282 110.411 62.8782C110.136 65.4934 112.298 71.1155 115.041 67.227C116.741 64.8169 118.59 62.7445 120.027 60.1209C121.567 57.3097 124.206 48.8542 125.079 51.9385C126.497 56.9508 123.207 66.179 122.294 70.8152C120.796 78.4209 119.437 85.9966 117.369 93.4705C117.068 94.5606 116.139 103.229 115.039 103.54C113.473 103.984 113.643 96.5553 113.692 96.1925C115.504 82.8536 128.178 71.8613 135.078 60.7609C136.73 58.1038 137.03 54.8922 138.487 52.0762C140.926 47.366 138.989 62.6726 139.172 67.9734C139.252 70.2984 139.272 72.9789 139.675 75.2796C139.897 76.5454 144.949 70.1681 145.296 69.7475C147.508 67.0664 149.036 64.7312 150.576 61.6362C151.051 60.6828 152.659 56.1636 152.326 59.3239C152.172 60.7933 152.528 65.7308 153.421 66.8335C154.488 68.151 157.987 65.1223 158.55 64.6408C165.462 58.7277 170.39 49.8993 171.962 40.9938C173.038 34.9029 171.412 38.249 171.178 41.2881C170.828 45.821 173.283 48.8052 174.722 52.8232C176.84 58.7344 179.086 62.841 178.41 69.2716C178.048 72.7147 165.219 73.5066 168.779 65.9044C170.633 61.945 173.034 67.942 174.183 69.157C178.176 73.3796 184.679 63.2939 186.274 60.7725C193.061 50.047 195.546 35.2885 196.86 22.7927" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="993" stroke-dashoffset="993"></path> <!-- Underline Path --> <path id="underline" d="M107.174 84.38C126.874 82.0661 146.518 78.1799 166.201 75.4771C172.549 74.6054 179.179 76.0337 185.54 76.1284C196.326 76.2889 207.718 76.4185 218.434 74.8892C223.233 74.2044 228.297 74.9395 232.951 74.0243C241.113 72.4192 249.851 71.8563 258.17 71.812" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="169" stroke-dashoffset="169"></path> <style> #signature{ animation: drawSignature 3s linear forwards; } #underline { animation: drawUnderline 1s linear forwards; animation-delay: 3s; /* Delay to match signature duration */ } @keyframes drawSignature { to { stroke-dashoffset: 0; } } @keyframes drawUnderline { to { stroke-dashoffset: 0; } } </style> </svg> dasharray 和 stroke-dashoffset 是正确的,因为我使用 javascript getTotalLength() 对于签名和下划线的每个路径进行了计算。我想要的效果是我的签名首先是动画的,然后是下划线的 但从上面的代码来看,只有一半的签名被动画化,然后下划线路径修复了? 我已经尝试过上面的代码并使用ai仍然没有任何效果。我希望首先将我的签名路径设置为动画,然后为路径添加下划线,以便创建绘图签名效果 <svg xmlns="http://www.w3.org/2000/svg" width="282" height="122" viewBox="0 0 282 122" fill="none"> <!-- Signature Path --> <path id="signature" d="M59.1294 91.0229C59.2018 87.6683 57.6122 84.619 56.5486 81.5202C54.828 76.5073 53.9153 71.3684 52.7901 66.1947C48.7362 47.5558 44.4087 28.9291 39.3774 10.5267C37.5692 3.91298 36.1171 8.64639 34.837 12.4986C32.4899 19.5623 30.9263 27.1572 29.0077 34.3523C27.1718 41.2371 26.3716 48.4466 24.7866 55.2446C22.84 63.5931 21.5986 72.0237 19.7423 80.3835C19.2622 82.5455 16.7243 96.5695 19.769 94.469C23.0249 92.2228 28.2772 89.4289 30.6095 86.3298C31.8945 84.6223 34.839 81.0546 34.0555 78.638C32.5327 73.9409 23.7549 70.6068 19.9807 68.2569C17.0475 66.4308 14.0207 65.0872 10.602 64.7279C9.42022 64.6036 6.21447 64.835 5.35755 63.9882C3.77332 62.4227 3.72734 61.5739 3.95931 59.3668C4.39759 55.1969 8.95733 56.1224 12.3685 56.4356C36.6373 58.664 62.3092 55.5404 86.4512 54.237C91.0087 53.991 83.1485 57.1707 81.2589 57.9302C72.4695 61.4631 75.2696 76.1022 84.2826 77.5587C92.4344 78.8761 91.2261 46.4935 93.3015 54.486C94.6132 59.5375 94.3991 65.1649 96.1407 70.0446C98.0208 75.3128 98.4224 77.5413 102.803 72.5345C105.274 69.71 107.509 66.7204 109.318 63.4227C110.749 60.8149 110.89 58.3282 110.411 62.8782C110.136 65.4934 112.298 71.1155 115.041 67.227C116.741 64.8169 118.59 62.7445 120.027 60.1209C121.567 57.3097 124.206 48.8542 125.079 51.9385C126.497 56.9508 123.207 66.179 122.294 70.8152C120.796 78.4209 119.437 85.9966 117.369 93.4705C117.068 94.5606 116.139 103.229 115.039 103.54C113.473 103.984 113.643 96.5553 113.692 96.1925C115.504 82.8536 128.178 71.8613 135.078 60.7609C136.73 58.1038 137.03 54.8922 138.487 52.0762C140.926 47.366 138.989 62.6726 139.172 67.9734C139.252 70.2984 139.272 72.9789 139.675 75.2796C139.897 76.5454 144.949 70.1681 145.296 69.7475C147.508 67.0664 149.036 64.7312 150.576 61.6362C151.051 60.6828 152.659 56.1636 152.326 59.3239C152.172 60.7933 152.528 65.7308 153.421 66.8335C154.488 68.151 157.987 65.1223 158.55 64.6408C165.462 58.7277 170.39 49.8993 171.962 40.9938C173.038 34.9029 171.412 38.249 171.178 41.2881C170.828 45.821 173.283 48.8052 174.722 52.8232C176.84 58.7344 179.086 62.841 178.41 69.2716C178.048 72.7147 165.219 73.5066 168.779 65.9044C170.633 61.945 173.034 67.942 174.183 69.157C178.176 73.3796 184.679 63.2939 186.274 60.7725C193.061 50.047 195.546 35.2885 196.86 22.7927" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="993" stroke-dashoffset="993"></path> <!-- Underline Path --> <path id="underline" d="M107.174 84.38C126.874 82.0661 146.518 78.1799 166.201 75.4771C172.549 74.6054 179.179 76.0337 185.54 76.1284C196.326 76.2889 207.718 76.4185 218.434 74.8892C223.233 74.2044 228.297 74.9395 232.951 74.0243C241.113 72.4192 249.851 71.8563 258.17 71.812" stroke="black" stroke-width="4" stroke-linecap="round" stroke-dasharray="169" stroke-dashoffset="169"></path> <style> #signature{ animation: drawSignature 3s linear forwards; } #underline { animation: drawUnderline 1s linear forwards; animation-delay: 3s; /* Delay to match signature duration */ } @keyframes drawSignature { to { stroke-dashoffset: 0; } } @keyframes drawUnderline { to { stroke-dashoffset: 0; } } </style> </svg> 浏览量'100 抖音
如何在 iText Java 中直接将 AI (Adobe Illustrator) / SVG / PDF 文件嵌入 PDF 以避免渲染故障?
SVG 文件在 iText Java 中无法正确呈现。我应该找到一种更好的方法将矢量图插入到我的 pdf 文件中。 我想用一些矢量图和文本编程生成 PDF 文件...
Android 上的 Chrome 更喜欢苹果触摸图标而不是 SVG favicon
我正在本地非 HTTPS vitejs 开发服务器的网页中测试 favicon。 这是与 favicon 相关的部分: 我正在本地非 HTTPS vitejs 开发服务器的网页中测试 favicon。 这是与favicon相关的部分: <link rel="icon" href="/favicon-32x32-light.png" sizes="32x32" media="(prefers-color-scheme: light)" /> <link rel="icon" href="/favicon-32x32-dark.png" sizes="32x32" media="(prefers-color-scheme: dark)" /> <link rel="apple-touch-icon" href="/apple-icon-180x180-light.png" sizes="180x180" media="(prefers-color-scheme: light)" /> <link rel="apple-touch-icon" href="/apple-icon-180x180-dark.png" sizes="180x180" media="(prefers-color-scheme: dark)" /> <link rel="icon" href="/favicon.svg" type="image/svg+xml" sizes="any" /> SVG 有一个像 viewBox="0 0 160 160" 这样的 viewBox,不确定这是否会影响浏览器选择算法。它包含一个 <style> 标签来支持两种配色方案: .inside { fill: green; } @media (prefers-color-scheme: dark) { .inside { fill: red; } } 在 Windows Chrome(以及 Firefox、Edge)中,仅请求并应用 SVG 图标: 在 Android Chrome (v129.0.xxx) 中,同时请求 SVG favicon 和 apple touch 图标,然后应用 apple touch 图标(SVG 具有不同的颜色,以便被发现): 我的理解是Android Chrome支持SVG作为favicon,它的选择算法应该选择SVG。所以我想我的页面设置一定有问题。这是MDN: 如果有多个 ,浏览器将使用它们的媒体、类型和大小属性来选择最合适的图标。如果多个图标同样合适,则使用最后一个。如果后来发现最合适的图标不合适,例如因为它使用了不受支持的格式,则浏览器将继续使用下一个最合适的图标,依此类推。 realfavicongenerator.net 上的 post 解释说,Android Chrome 也依赖于苹果触摸图标,基于宽度/高度计算。但 SVG 可以根据需要缩放,所以我的理解是它应该优先。 我尝试过的事情,但没有运气: 更改<link>标签的顺序 删除 Apple Touch 图标或 SVG 或两者中的 sizes 属性 使用不同的 <link> 属性复制 SVG media,以实现暗/亮方案 使用大于 180x180 的 viewBox 创作放大的 SVG,例如200x200 通过 HTTPS 公开本地站点 让它选择 SVG 的唯一方法是删除两个苹果触摸图标 <link> 标签。此时,在 32x32 PNG 和 SVG 之间,Android Chrome 选择了 SVG。 这是一个显示问题的代码和框,设置也更简单(没有深色/浅色变体):https://s3cnww.csb.app/ 有谁知道如何让 Android Chrome 选择 SVG? TA 当浏览器需要在多个 Favicon 中进行选择时,您无法选择首选 Favicon。每个浏览器都有自己的实现,正如Robert Longso所建议的,您唯一的解决方案是直接联系每个浏览器以检查它是否是预期的行为。 例如,以下是使用 apple-touch-icon 的 Safari 浏览器的规则: https://developer.apple.com/library/archive/documentation/AppleApplications/Reference/SafariWebContent/ConfiguringWebApplications/ConfiguringWebApplications.html#//apple_ref/doc/ uid/TP40002051-CH3-SW4.
有些 SVG 在 Nextjs 中工作,有些则不能,为什么?
当我尝试在 Nextjs 应用程序中使用 svgs 时,我一直在努力使用它们。 它们不会显示为背景图像或图像本身。我尝试过其他地方的 svgs 并且它们可以工作,但我找不到...
与 <mat-icon>(角度材质)一起使用时我们可以更改 svgicon 颜色吗
所以我有一个 svg 图标,我使用有角度的材料来显示它,并想更改悬停时的颜色,但到目前为止我还无法做到这一点。 这是供参考的代码: 所以我有一个 svg 图标,我使用有角度的材料来显示它,并想更改悬停时的颜色,但到目前为止我还无法做到这一点。 以下是参考代码: <mat-icon svgIcon="menu"></mat-icon> 但是当我尝试时,图标出现了, <mat-icon class="color" svgIcon="menu"></mat-icon> 以及CSS部分 .color:hover, .color:active{ color: black; fill: black; } 这不起作用。 任何帮助将不胜感激,谢谢。 今天早上我自己解决了这个问题,我所做的基本上是用文本编辑器打开 svg 文件,并且在长“Path”属性的末尾有一个填充属性,我只是删除了该部分,现在它工作得很棒。 示例(之前):- <path d="M47.713,274.096c0,3.866,3.134,7,7,7s7-3.134,7-7v-64.653l87.584-`66.53v52.38c0,3.866" fill="#ffffff";/>` 之后:- <path d="M47.713,274.096c0,3.866,3.134,7,7,7s7-3.134,7-7v-64.653l87.584-`66.53v52.38c0,3.866"/> 现在一切正常,悬停也正常...非常感谢您仍在研究它。 SVG 图标默认为黑色,除非另有说明,您发布的代码似乎有效,尝试将鼠标悬停时的颜色属性更改为 red 并查看是否可以看到更改。 将 SVG 的填充变量写入 currentColor,如下所示: <svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 24 24"> <path fill="currentColor" d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-13h2v6h-2zm0 8h2v2h-2z"/> </svg> 之后你可以像这样改变颜色:<mat-icon svgIcon="hero" style="color: red;" />
路径填充=“无”笔划=“#000000”d=“M151.5,85.5c0-36.48,29.52-66,66-66” 谁能详细解释一下 d="" 吗?我能够理解 M 标签,但我无法理解 C 标签是什么?和详细信息:c0-3...
有没有一种方法既可以通过 URL 加载 SVG 图像,又可以用 CSS 颜色变量填充它?
我正在构建一个编辑器,用户可以在其中从我们的 CDN 选择 SVG,并选择其填充颜色。在前端,我希望能够以用户选择的颜色渲染这些 SVG,但这