SVG绘制的多边形不符合预期,请求排查问题原因
SVG多边形显示异常的问题排查与修复
嘿,我来帮你拆解这个问题~你的SVG多边形不符合预期的核心原因,是顶点坐标和SVG的viewBox范围完全不匹配。
先看你的配置:你设置了viewBox="0 0 200 28",这就定义了整个SVG的可见画布是宽200、高28的矩形,所有坐标都得在这个范围内才会显示出来。但你给<polygon>写的points='0,0 0,170 28,200 0,28z'里,0,170和28,200这两个点的Y轴坐标(170、200)远远超过了viewBox的最大Y值28,这些点直接被裁到了画布外面,导致多边形的形状完全走样。
举个例子,如果你的目标是在这个200×28的画布左上角画一个直角三角形,修正后的代码应该是这样的:
<svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="200" height="28" viewBox="0 0 200 28"> <polygon fill='red' stroke='gray' points='0,0 0,28 28,0' /> </svg>
如果你的目标样式不是这个,只需要记住:所有points里的坐标,X值不能超过200,Y值不能超过28(viewBox的范围是X从0到200,Y从0到28),确保所有顶点都落在可见画布内,多边形就能正常呈现你想要的样子了。
内容的提问来源于stack exchange,提问作者uzi_no_uzi
相关产品推荐
相关产品推荐

