第76天 用CSS画出一个任意角度的扇形,可以写多种实现的方法
Activity
liuxiaole commentedon Jul 1, 2019
四个半圆叠加,过半调整z-index:
https://codepen.io/liuxiaole-the-sasster/full/RzQBKV
lu-xiansen commentedon Jul 1, 2019
CSS代码
先画一个圆,外加两个绝对定位的半圆
扇形可以通过两个半圆作为遮罩旋转来露出相应的角度实现
这只能切出180°以内的扇形
超过180°的扇形,就把圆作为底色,两个遮罩作为扇形的组成部分
不知道描述的好不好理解,但确实能实现任意角度的扇形了
HTML代码
我也附个链接,直接改变两个mask样式里的度数即可
https://codepen.io/lu-xiansen/pen/mZXQbO
zyronon commentedon Jul 1, 2019
2楼的方法很赞
liuxiaole commentedon Jul 1, 2019
想到一个更加简单的方法,直接用 clip-path 切多边形,然后 border-radius 一裁剪就是扇形了!
https://codepen.io/liuxiaole-the-sasster/pen/Zdrmxg
VilianLee commentedon Jul 1, 2019
用两个矩形叠加遮罩最底层的圆
2256184693 commentedon Jul 2, 2019
@liuxiaole 学到了学到了
Konata9 commentedon Jul 12, 2019
这一题其实和 Day33 画三角形的很类似,利用
border
就可以实现了。通过调整border
的宽度来改变不角度。实现扇形就是再加一个border-radius
.https://codepen.io/Konata9/pen/wLOLer?editors=1100
liuxiaole commentedon Jul 12, 2019
你这样可以画任意角度?300度的扇形怎么画?
hafrans commentedon Jan 7, 2020
对于这种场景基本上就要用canvas了。
smile-2008 commentedon Jan 26, 2021