superellipse()
Limited availability
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
Expérimental: Il s'agit d'une technologie expérimentale.
Vérifiez attentivement le tableau de compatibilité des navigateurs avant de l'utiliser en production.
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
-infinityetinfinityinclus.
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 à0crée une ligne droite. Cette valeur permet de créer des coins biseautés et correspond au mot-clébevelde<corner-shape-value>. - Une valeur de
Kégale à1crée une ellipse ordinaire, correspondant au mot-cléround. - Une valeur de
Ksupérieure à1rend la forme plus carrée ;2correspond au mot-clésquircle. - Une valeur de
Kégale àinfinitycrée un carré parfait (correspondant au mot-clésquare), bien que des valeurs deKsupérieures ou égales à10soient pratiquement indiscernables d'un carré. - Des valeurs négatives de
Kproduisent une courbe concave, donnant des coins incurvés vers l'intérieur (« creusés »). Une valeur deKégale à-1correspond au mot-cléscoopet-infinityau 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
Chargement…
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