Php 不同大小SVG上的CSS效果(阴影、笔划)

Php 不同大小SVG上的CSS效果(阴影、笔划),php,vector,svg,size,stroke,Php,Vector,Svg,Size,Stroke,我对SVG(不同大小)和效果(笔划、阴影等)有问题 笔划(例如)的大小不同,因为图标B较小,并且“缩放”到500px 解决此问题的正确方法是什么? 我必须单独计算每个SVG的效果吗/ 或者是否有只缩放SVG而不缩放效果的选项 或者我可以(用PHP)重新计算SVG吗?所以每个SVG都有相同的大小 小提琴 CSS stroke: #39A02E; stroke-width: 5; 示例 A) B) 这可以解决中风问题 输出:您可以指定百分比的笔划宽度,而不仅仅是用户空间单

我对SVG(不同大小)和效果(笔划、阴影等)有问题 笔划(例如)的大小不同,因为图标B较小,并且“缩放”到500px

解决此问题的正确方法是什么?

  • 我必须单独计算每个SVG的效果吗/
  • 或者是否有只缩放SVG而不缩放效果的选项
  • 或者我可以(用PHP)重新计算SVG吗?所以每个SVG都有相同的大小
小提琴

CSS

stroke: #39A02E;  
stroke-width: 5;
示例


A)



B)



这可以解决中风问题


输出:

您可以指定百分比的笔划宽度,而不仅仅是用户空间单位。也可以以相同的方式指定阴影过滤器(以objectBoundingBox为单位)。这将根据svg的大小和视口的大小调整笔划的大小。

因此,最好(且干净)的方法是分别计算每个svg的笔划和阴影?不太舒服:/I我可能没有解决您的问题,但如果您有多个“问题是大小,请查看viewBox。图标A viewBox=“0 0 500”和图标B viewBox=“0 0 50 50”。我所有的SVG都有不同的大小。图标C viewBox=“0 0 120 120”,图标D viewBox=“0 0 330 330”等。当我现在将图标大小调整为500px 500px时(使用SVG属性width和height)笔划也会调整大小。您可以尝试在外部css文件中添加SVG图像和笔划的大小,并从路径调用它。示例如下:
<svg xml:space="preserve" 
preserveAspectRatio= "xMinYMin meet" 
enable-background="new 0 0 500 500" 
viewBox="0 0 500 500" 
width="500px" 
height="500px" 
y="0px" 
x="0px" 
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg" version="1.1">
<svg xml:space="preserve"
preserveAspectRatio= "xMinYMin meet" 
enable-background="new 0 0 50 50" 
viewBox="0 0 50 50" 
width="500px" 
height="500px" 
y="0px" 
x="0px" 
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg" version="1.1">
<style type="text/css" >
  <![CDATA[
   g {  stroke: #39A02E;  
   stroke-width: 1;  
   fill:url(#rgrad);}
  ]]>
</style>