3 points par GN⁺ 2025-05-06 | Aucun commentaire pour le moment. | Partager sur WhatsApp
  • La fonction CSS shape() commence à être prise en charge par les navigateurs Chromium et WebKit
  • Contrairement à path(), elle permet désormais de définir des formes complexes avec une syntaxe CSS plus lisible et des unités familières
  • Lors de la création de formes complexes avec clip-path, il est possible d’implémenter cela avec une approche basée sur des commandes en anglais plutôt que sur des coordonnées SVG
  • De nouvelles commandes comme line, arc et curve permettent d’écrire plus simplement des lignes, des courbes et des arcs
  • shape() a encore une prise en charge limitée de l’animation, mais des changements dynamiques en réponse à hover/focus sont possibles

Aperçu

  • La fonction CSS shape() s’utilise avec clip-path pour permettre le découpage de formes complexes dans le navigateur
  • Jusqu’ici, des formes de base comme circle, ellipse ou polygon étaient possibles, mais les formes libres n’étaient possibles qu’avec path()
  • Comme path() exige de saisir directement les coordonnées et commandes SVG, sa lisibilité était moindre et sa courbe d’apprentissage plus élevée

Caractéristiques de la fonction shape()

  • Elle permet de composer des formes vectorielles dans un style propre à CSS
  • Le point de départ est défini avec des mots-clés directionnels (from top left) ou des valeurs de coordonnées (from 0 0)
  • La forme est composée d’une série de commandes. Ex. : line, vline, arc, curve, smooth

Explication des principales commandes

  • line
    • Signification : trace une ligne depuis le point de départ
    • Utilisation : position relative indiquée avec le mot-clé by
    • Exemple : line by -2px 3px
  • vline
    • Signification : trace une ligne verticale
    • Utilisation : position absolue avec to, position relative avec by
    • Exemple : vline to 50px
  • hline
    • Signification : trace une ligne horizontale
    • Utilisation : position absolue avec to, position relative avec by
    • Exemple : hline to 95%
  • arc
    • Signification : trace une courbe de forme elliptique
    • Utilisation :
      • to : point d’arrivée de l’arc
      • with : direction d’inclinaison de l’arc (horizontale/verticale)
      • of : rayon de l’ellipse à laquelle l’arc appartient (horizontal/vertical)
    • Exemple : arc to 10% 50% of 1%
  • curve
    • Signification : trace une courbe de Bézier
    • Utilisation :
      • to : point d’arrivée de la courbe
      • with : points de contrôle de la courbe (ajustement de la courbure)
    • Exemple : curve to 0% 100% with 50% 0%
  • smooth
    • Signification : trace une courbe lisse (courbe de Bézier connectée)
    • Utilisation :
      • to : point d’arrivée
      • by : coordonnées relatives
      • with : points de contrôle

Autres points

  • shape() peut être modifiée dynamiquement dans les états hover/focus
  • Dans les navigateurs actuels, les animations transition ne fonctionnent pas encore
  • La fonction de calcul calc() peut aussi être utilisée

Liens de référence

Aucun commentaire pour le moment.

Aucun commentaire pour le moment.