superellipse()
Limited availability
This feature is not Baseline because it does not work in some of the most widely-used browsers.
Expérimental: Cette fonction est expérimentale
Puisque cette fonction est toujours en développement dans certains navigateurs, veuillez consulter le tableau de compatibilité pour les préfixes à utiliser selon les navigateurs.
Il convient de noter qu'une fonctionnalité expérimentale peut voir sa syntaxe ou son comportement modifié dans le futur en fonction des évolutions de la spécification.
La fonction CSS superellipse()
permet de définir la courbure d'une ellipse, et sert à spécifier les formes de coins soit directement, soit via les mots-clés <corner-shape-value>
.
Syntaxe
superellipse(infinity)
superellipse(4)
superellipse(1.7)
superellipse(0)
superellipse(-2.8)
superellipse(-3)
superellipse(-infinity)
Paramètres
<number>
-
Un nombre compris entre
-infinity
etinfinity
inclus.
Valeur de retour
Une forme de superellipse.
Description
La fonction superellipse()
retourne une forme de superellipse, utilisée pour définir les valeurs de corner-shape
. Une superellipse est une courbe fermée symétrique, intermédiaire entre un rectangle et une ellipse. Elle ressemble à une ellipse qui conserve les caractéristiques géométriques de ses deux axes.
La forme de superellipse est calculée à partir d'une version modifiée de l'ellipse. L'équation suivante définit une ellipse centrée à l'origine :
Les variables a
et b
correspondent aux rayons de l'ellipse, tandis que les coordonnées x
et y
sont des points sur la circonférence de l'ellipse.
Un cercle est une ellipse dont les rayons a
et b
sont de même longueur. Si a
et b
valent tous deux r
, l'équation du cercle s'écrit :
Dans cette équation, x
et y
sont les coordonnées des points sur la circonférence du cercle, et r
est le rayon du cercle, le centre étant (0, 0)
. L'ellipse est obtenue en étirant la forme du cercle selon l'axe x
et/ou y
.
Une superellipse est créée en remplaçant l'exposant 2
dans chaque cas par 2K, où K
est l'argument passé à la fonction superellipse()
, ce qui modifie la courbure de l'ellipse :
Le schéma suivant illustre différentes valeurs de superellipse()
pour le coin supérieur droit d'un conteneur : infinity
, 1
, 0
, -1
et -infinity
:
- Une valeur de
K
égale à0
crée une ligne droite. Cette valeur permet de créer des coins biseautés et correspond au mot-clébevel
de<corner-shape-value>
. - Une valeur de
K
égale à1
crée une ellipse ordinaire, correspondant au mot-cléround
. - Une valeur de
K
supérieure à1
rend la forme plus carrée ;2
correspond au mot-clésquircle
. - Une valeur de
K
égale àinfinity
crée un carré parfait (correspondant au mot-clésquare
), bien que des valeurs deK
supérieures ou égales à10
soient pratiquement indiscernables d'un carré. - Des valeurs négatives de
K
produisent une courbe concave, donnant des coins incurvés vers l'intérieur (« creusés »). Une valeur deK
égale à-1
correspond au mot-cléscoop
et-infinity
au mot-clénotch
.
Une superellipse négative ou positive sera symétrique à une superellipse de valeur inverse.
Note :
Pour toute valeur du paramètre K
passée, la fonction superellipse()
retournera toujours la même forme pour cette valeur. Lorsque cette valeur est appliquée à deux éléments, l'apparence du coin peut différer si la taille de la boîte ou la valeur de border-radius
diffère.
Syntaxe formelle
<superellipse()> =
superellipse( <number [-∞,∞]> |
infinity |
-infinity )
Exemples
>Comparaison des valeurs superellipse()
Dans cet exemple, deux curseurs <input type="range">
permettent de parcourir différentes valeurs superellipse()
pour corner-shape
et différentes valeurs de border-radius
, afin de comparer leurs effets sur un conteneur. Le code est masqué pour plus de clarté, mais l'explication complète de la comparaison des valeurs superellipse est disponible sur la page de référence corner-shape
.
Note :
Voir aussi l'exemple de comparaison des valeurs <corner-shape-value>
.
Spécifications
Specification |
---|
CSS Borders and Box Decorations Module Level 4> # funcdef-superellipse> |
Compatibilité des navigateurs
Loading…
Voir aussi
- La propriété
corner-shape
- Le type de donnée
<corner-shape-value>
- Le module bordures et décorations de boîte CSS