【发布时间】:2019-12-08 10:52:38
【问题描述】:
我生成了一个简单的 svg 图像并将其加载到 Chrome。打算将它定位到浏览器的中心(即使在浏览器调整大小时),但到目前为止已经失败了。
参考了一些关于viewport/viewbox设置的文章,以及本站(https://stackoverflow.com/questions/8639383/how-do-i-center-an-svg-in-a-div;https://stackoverflow.com/questions/13373169/align-svg-to-center-of-screen)上的一些问答,但还没有完成。也许我错过了什么,因为我对此很陌生。
这是此 svg 图片的完整代码:
<svg
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
width="100%"
height="100%"
viewBox="0 -700 1080 1920"
preserveAspectRatio="xMidYMid meet"
version="1.1"
id="mysvg"
>
<g
id="group" >
<circle
r="500"
style="fill:#ffb721;fill-opacity:1"
cy="0"
cx="0"
id="path" />
<circle
style="fill:#f71c17;fill-opacity:1;"
id="path2"
cx="0"
cy="0"
r="250" />
</g>
</svg>
我希望这张图片可以保持在浏览器的中心,即使在浏览器调整大小时也是如此。
【问题讨论】:
-
你的意思是在页面上水平和垂直居中吗?
-
另外,您的圈子不在您的 viewBox 中居中。你是不是只想显示一半的圆圈。如果没有,请附上展示您想要实现的目标的样机图片。
-
Chrome 只需将文件拖入浏览器即可查看 SVG 文件的输出。如果您希望 SVG 加载到网页中,则必须在网页的 html 中专门调用它。即使这样,您也需要进行一些样式设置以使 SVG 居中。
-
@Paul:是的,我希望它们水平和垂直居中。我也想展示整个圈子,而不仅仅是一半。显示整个 svg 图像。
-
@Brad:我不是在尝试制作网页,而只是在拖入浏览器时可以在浏览器中居中的 svg 图像。当我说“加载到 Chrome”时,我的意思是把 svg 文件拖到浏览器中。