如何使用css3绘制任意角度扇形+动画

html-css014

如何使用css3绘制任意角度扇形+动画,第1张

简单, 主要是用好border 想要任意角度的话 多弄几个 重叠在上面(配合 transform:rotate(deg)使用) 如果你想知道css3的更多秘密 那么就去购买 Lea的 css secret

方法一:border

我们知道利用border+宽高:0 可以实现如下效果 (假设圆的半径是100px)

如果要实现扇形在此基础上圆角一下即可,同时设置某一方颜色透明即可实现”某一块扇形”的视觉效果

方法二:矩形+半圆相切

基本思路是:左边的半圆旋转与右边的矩形相切。

至于细节: 

1.半圆的由来:可以rect裁剪只显示圆的左边部分 

2.同理,矩形也通过rect裁剪只显示右边部分,同时没有背景色。这样一个矩形里视觉上只会显示半圆与矩形相切的部分

然后剩下的完善同样三个标签旋转一定角度。

你结构不用动,只需要调整CSS里的.menuHolder为位置,然后再分别调整每个菜单的旋转角度(角度全部改成绝对值,即负数),以及三个圆的圆角位置(border-radius:左上,右上,右下,左下),将右下数值移动到左下,所有这些没经过实验,自己调吧。