Vue如何制作一个长尾词形式的圆形菜单栏组件?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1468个文字,预计阅读时间需要6分钟。
整个样式都是基于CSS3和transform实现的。每个形状的角度为360/12=30度。当然,如果你想做成圆形也可以,公式就是:形状角度=你想绘制的角度/形状个数。当你计算好每个形状的角度时,需要将形状角度替换为实际的计算结果。
整个样式都是基于css3 得transform而实现得。
每个扇形角度为360/12=30deg,当然,你不想做圆形也可以,公式就是 扇形角度=你想绘制得角度/扇形个数
当你计算好每个扇形得角度时,需要将li元素倾斜,倾斜角度=90-扇形面积,我的这个倾斜角度就是90-30=60deg,然后使用css3 得skew()
circle-panel-3
当每个扇形倾斜60deg之后,会在原来得位置上,要想每个扇形有规律得组合在一起,那么就要旋转相应得角度,30deg,60deg,90deg…….这个以扇形得圆心角递加。
这是基础组件得完整代码,父组件只需导入使用传给子组件数据就可以了,当点击每个扇形得事件也在父组件监听实现相应的逻辑。script部分我加了js代码和ts代码,没有用过ts得小伙伴就忽略直接参考js代码就可以了。并且我调用了手势库hammer.js,这个库很全,大家感兴趣得可以去查一下使用方法,这样这个圆环是可以旋转得。
本文共计1468个文字,预计阅读时间需要6分钟。
整个样式都是基于CSS3和transform实现的。每个形状的角度为360/12=30度。当然,如果你想做成圆形也可以,公式就是:形状角度=你想绘制的角度/形状个数。当你计算好每个形状的角度时,需要将形状角度替换为实际的计算结果。
整个样式都是基于css3 得transform而实现得。
每个扇形角度为360/12=30deg,当然,你不想做圆形也可以,公式就是 扇形角度=你想绘制得角度/扇形个数
当你计算好每个扇形得角度时,需要将li元素倾斜,倾斜角度=90-扇形面积,我的这个倾斜角度就是90-30=60deg,然后使用css3 得skew()
circle-panel-3
当每个扇形倾斜60deg之后,会在原来得位置上,要想每个扇形有规律得组合在一起,那么就要旋转相应得角度,30deg,60deg,90deg…….这个以扇形得圆心角递加。
这是基础组件得完整代码,父组件只需导入使用传给子组件数据就可以了,当点击每个扇形得事件也在父组件监听实现相应的逻辑。script部分我加了js代码和ts代码,没有用过ts得小伙伴就忽略直接参考js代码就可以了。并且我调用了手势库hammer.js,这个库很全,大家感兴趣得可以去查一下使用方法,这样这个圆环是可以旋转得。

