语法
superellipse(infinity)
superellipse(4)
superellipse(1.7)
superellipse(0)
superellipse(-2.8)
superellipse(-3)
superellipse(-infinity)
参数
<number>
-
一个在
-infinity
到infinity
之间(包含两者)的数字。
返回值
一个超椭圆形状。
描述
superellipse()
函数返回一个超椭圆形状,用于指定 corner-shape
值。超椭圆是介于矩形和椭圆之间的一种闭合曲线对称形状。它类似于椭圆,但保留了其两条轴的几何特征。
超椭圆形状是使用椭圆的修改版本计算的。以下方程定义了一个以原点为中心的椭圆:
变量 a
和 b
指的是椭圆的半径,而 x
和 y
坐标是椭圆周长上的点。
当椭圆的半径(上一个方程中的 a
和 b
)长度相同时,它就是一个圆。当 a
和 b
都等于 r
时,圆的方程可以写成:
在这个方程中,x
和 y
是圆周上点的坐标,r
是圆的半径,圆心是 (0, 0)
。椭圆是通过沿 x
轴和/或 y
轴缩放圆形形状而生成的。
超椭圆形状是通过将每种情况下的指数 2
替换为 2K 而创建的,其中 K
是传递给 superellipse()
函数的参数,它修改了椭圆的曲率:
下图展示了容器右上角的不同 superellipse()
值:infinity
、1
、0
、-1
和 -infinity
K
值为0
会创建一条直线。此值可用于创建斜切角,并对应于<corner-shape-value>
bevel
关键字。K
值为1
会创建普通椭圆,对应于round
关键字。K
值>1
使椭圆形状更接近正方形;2
对应于squircle
关键字。K
值infinity
会创建一个完美的正方形(对应于square
关键字),尽管K
值等于或大于10
时,实际上与正方形无法区分。- 负
K
值会导致凹曲线,从而产生向内弯曲或“挖空”的角部形状。K
值为-1
对应于scoop
关键字,-infinity
对应于notch
关键字。
负超椭圆或正超椭圆与具有其反值的超椭圆看起来是对称的。
注意:对于传递的任何 K
参数值,superellipse()
函数的返回值对于该 K
值始终相同。当该值应用于两个元素时,如果框大小或 border-radius
值不同,角部形状的外观可能会有所不同。
正式语法
<superellipse()> =
superellipse( <number [-∞,∞]> |
infinity |
-infinity )
示例
superellipse()
值比较
在此示例中,两个 <input type="range">
滑块允许您循环浏览许多不同的 corner-shape
superellipse()
值和 border-radius
值,从而使您能够比较每个值对容器的影响。为简洁起见,代码已隐藏,但超椭圆值比较的完整说明在 corner-shape
参考页面上提供。
注意:另请参阅 <corner-shape-value>
值比较示例。
规范
规范 |
---|
CSS Borders and Box Decorations Module Level 4 # funcdef-superellipse |
浏览器兼容性
加载中…