【发布时间】:2019-05-07 10:07:35
【问题描述】:
我想做一个带有可变(未知)数量的元素的圆形菜单,也就是说,我的链接将被放置在一个圆圈上。
我想用SVG来画圆,但是如何在圆上等距离放置项目呢?
我可以从代码开始:
.container {border: 1px solid red; background: lightblue;}
<figure>
<figcaption>Inline, auto size</figcaption>
<div class="container">
<svg viewBox="0 0 10 10"><use xlink:href="#my-circle"/></svg>
<div>one</div>
<div>two</div>
<div>tree</div>
</div>
</figure>
<svg>
<symbol id="my-circle" >
<g fill="transparent" stroke="darkgoldenrod" stroke-width="0.1">
<circle r="3" transform="translate(5,5)" />
</g>
</symbol>
</svg>
随着容器大小的调整,圆圈应该调整大小,并且项目应该移动。
有没有办法不用大量的JS?
【问题讨论】:
-
菜单项应该如何对齐?你可以创建示例图像吗?有很多使用 CSS 的圆形菜单示例。喜欢这里 - freefrontend.com/css-menu/#circular-menu
-
如果您想以其他方式扩展它,还有pure css 选项。
-
问题我有一个未知(可变)数量的元素,所以我需要一种通用的方法,“重复”问题没有解决这个问题,我也不会使用复杂的动态移动元素的 JS 逻辑,我认为 SVG 可以更简单
标签: javascript html css svg