我正在用 Javascript 创建一个圆形菜单,并决定使用绝对定位和 -webkit-transforms 的组合来将列表项定位在圆圈的外部。
这是一个已被修改为 JSFiddle 形状的演示:http: //jsfiddle.net/5XnKZ/6/
您可以看到列表项的位置是松散的圆形,但它们没有按顺序显示,也没有按我预期的宽度显示。如果您尝试从列表中添加和删除项目,您会发现不同数量的列表项目对它们的显示方式有很大不同的影响。
我使用绝对定位将项目定位在圆的中心,然后使用 webkit 转换将它们转换为圆上的位置。转换的 x 和 y 如下获得:
var x = Math.cos(d) * r;
var y = Math.sin(d) * r;
其中 d 是项目应处于的弧度角度,r 是我将它们定位在的圆的半径。
谁能看到出了什么问题?