語法
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 |
瀏覽器相容性
載入中…