【发布时间】:2021-08-29 22:59:55
【问题描述】:
我有一个公式来确定圆的直径,因此对于任何给定的矩形,圆的顶部中心和周长都与矩形的顶部中心和底部角相接触。
diameter = width * width / 4 / height + height // width and height of the rectangle
但是,我现在需要做的是创建一个如下所示的形状,我知道可以使用 clip-path: polygon() 来完成,使用 polygon() 的 evenodd 填充规则可能会变得更简单.
问题是我不熟悉clip-path: polygon 并且数学很烂,所以我不太确定使用evenodd 填充规则是否可以使它变得更简单,更不用说如何去关于生成要绘制的顶点集。
显然,纯 CSS 解决方案是理想的。但是,如果单独使用 CSS 无法做到这一点,我可以使用 JS。
有什么想法吗?
【问题讨论】:
-
多边形不是解决这个问题的方法
-
@TemaniAfif 为什么不呢? SVG 更好?
-
因为 polyong 无法创建圆形
-
@TemaniAfif 如果有足够多的顶点(即使它可能是“百万角形”哈哈),您可以创建它是圆形的错觉,对吧?
-
@TemaniAfif 你知道任何轻量级的解决方案吗?
标签: javascript css math polygon clip-path