语法
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 |
浏览器兼容性
加载中…