Utilitaires✨ Premium

Shape Hero

Bandeau-titre dont la découpe change avec la largeur de son conteneur : bas en biais quand il est étroit, arrondi au milieu, à pans coupés quand il est large.

CSSclip-path@container

Mis à jour le

Cet effet fait partie d'Effect.Labs — 840 effets vanilla, une partie gratuite, une partie premium. Utilitaires comprend 43 effets, dont 3 gratuits. Découvrir la catégorie →

3 exemples d'usage

Club d'aviron de Sauvremont — en-tête à pans coupés, bannières en biais chez les partenaires — Shape Hero exemple 1

① Club d'aviron de Sauvremont — en-tête à pans coupés, bannières en biais chez les partenaires

QuandEn haut de la page d'accueil, le bandeau occupe les 540 px et prend sa forme large. Juste dessous, la section « Nos partenaires » reprend trois fois le même composant dans des cases de 165 px, où il se taille en biais.
PourquoiLa page garde une seule famille de formes : le grand en-tête et les petites bannières se répondent sans deux composants à dessiner.
RéglagesQuatre racines ; la page de la scène est claire (#f1f5f9) pour que les parties coupées se voient. Grille de trois colonnes égales pour les partenaires.
Éditeur de pages Plisseau — la section d'en-tête qu'on élargit à la poignée — Shape Hero exemple 2

② Éditeur de pages Plisseau — la section d'en-tête qu'on élargit à la poignée

QuandDans l'éditeur, on fait glisser la poignée à droite de la section (ou on utilise les flèches) : la découpe passe du biais à la courbe vers 350 px, puis aux pans coupés à 500 px. Au chargement, la section fait un aller-retour de 250 à 510 px.
PourquoiLa personne qui monte la page voit la forme exacte que prendra l'en-tête selon la colonne où elle le pose.
RéglagesPoignée réglant la largeur du parent de la racine entre 220 et 510 px ; légende sous la zone de travail rappelant les trois paliers.
Fenêtre d'aide de Solvrinne — l'en-tête se retaille quand on ancre la fenêtre à droite — Shape Hero exemple 3

③ Fenêtre d'aide de Solvrinne — l'en-tête se retaille quand on ancre la fenêtre à droite

QuandLa fenêtre d'aide flotte au milieu de l'application, en-tête arrondi. Un clic sur « Ancrer à droite » la colle au bord, sur 210 px de large et toute la hauteur : son en-tête reprend la forme en biais.
PourquoiL'en-tête reste soigné dans les deux positions de la fenêtre sans règle propre à l'état ancré.
RéglagesBouton à bascule (aria-pressed) qui change position et largeur de la fenêtre (390 → 210 px) avec une transition de 0,4 s dans le CSS de la scène.

Comment ça marche

La racine .fx-0756-root, transparente, est le conteneur mesuré (container: shh-hero / inline-size). Elle contient .shh-hero : un bloc centré au dégradé bleu nuit (#0f172a → #1e293b), un titre h3, un sous-titre, et une bande décorative .shh-deco de 40 px collée en bas, dégradé indigo → fuchsia à 30 % d'opacité. La forme vient de clip-path : ce qui est hors de la découpe laisse voir le fond de votre page.

Trois formes. Sous 350 px, un polygone coupe le bas en biais (côté droit remonté à 80 %), et la bande suit le même biais. De 350 à 499 px, @container shh-hero (min-width: 350px) applique une ellipse (ellipse(70% 80% at 50% 40%)) qui arrondit le bas et les angles, avec un titre à 1,2 rem. À partir de 500 px, le bas est taillé à pans coupés (les deux coins inférieurs biseautés de 20 %), la bande devient un hexagone allongé et le titre passe à 1,4 rem.

Les marges intérieures grandissent avec la forme (30/50 px, puis 40/60, puis 50/70 en haut/bas) pour que le texte reste dans la zone visible. clip-path et ces marges s'animent en 0,5 s, la taille du titre en 0,4 s. Pas de JavaScript.

Accessibilité

  • Titre réel : le texte est un h3 et un paragraphe, lus normalement ; ajustez le niveau de titre à votre page (souvent h1 pour un bandeau de haut de page).
  • Découpe et focus : clip-path masque tout ce qui dépasse de la forme, y compris un contour de focus. Si vous ajoutez un bouton, placez-le au centre, loin des bords coupés.
  • Bande décorative : .shh-deco porte aria-hidden="true" et pointer-events: none ; elle ne gêne ni la lecture ni les clics.
  • Contraste : titre blanc et sous-titre à 70 % d'opacité sur bleu nuit, au-dessus de 4,5:1.
  • Mouvement réduit : sous prefers-reduced-motion: reduce, la découpe, les marges et la taille du titre changent sans transition.

Compatibilité navigateur

Requêtes de conteneur et clip-path avec polygon() et ellipse() (disponibles bien avant @container). Mesuré dans Chromium 151, Firefox 153 et WebKit 26.5 : trois formes aux mêmes paliers, aucune erreur, deux bandeaux indépendants sur une page.

Chrome 105+✓ Complet (mesuré)
Firefox 110+✓ Complet (mesuré)
Safari 16+✓ Complet (mesuré sous WebKit)
Edge 105+✓ Complet
Mobile iOS 16+✓ Complet
Android Chrome 105+✓ Complet

Sans @container, le bandeau garde à toutes les largeurs sa forme étroite, bas en biais.

Le code

Structure HTML à coller dans votre page (le CSS + JS sont inclus avec votre achat) :

index.html — structure
<div class="fx-0756-root">
  <div class="shh-hero">
    <h3>Titre</h3>
    <p>Sous-titre</p>
    <div class="shh-deco" aria-hidden="true"></div>
  </div>
</div>

Paiement unique, sans abonnement — le code est à toi pour toujours

Personnaliser

Options passées à l'API ou attributs data-* :

Option / propriétéDéfautEffet
Paliers (CSS — @container shh-hero (min-width: 350px) et (min-width: 500px)) 350 px et 500 px Pour un en-tête qui n'est large que sur ordinateur, montez le second palier à 720 px.
Découpes (CSS — clip-path de .shh-hero dans chaque palier) Biais, ellipse, pans coupés Toute forme polygon() fonctionne ; pour une vague, essayez ellipse(90% 100% at 50% 0) au palier large.
Fond (CSS — .shh-hero { background }) #0f172a → #1e293b Une photo en background-image avec un voile sombre garde le texte lisible.
Bande décorative (CSS — .shh-deco) 40 px, indigo → fuchsia, opacité 0,3 Supprimez la div pour une découpe nue, ou montez l'opacité à 0,6 pour un liseré plus marqué.
Marges intérieures (CSS — padding par palier) 30/50 px, 40/60 px, 50/70 px (haut/bas) Si votre texte est plus long, augmentez la marge du bas pour qu'il ne touche pas la zone coupée.
Durée de transition (CSS — transition: clip-path .5s, padding .5s) 0,5 s 0,3 s pour un changement plus vif quand on redimensionne.

FAQ

Oui. clip-path rend invisible tout ce qui est hors de la forme, et la racine est transparente : c'est le fond de la page qui apparaît dessous. Pour une couleur de coin précise, donnez un background à .fx-0756-root.
Oui, dans le flux du texte, au centre. Évitez de le placer en bas près des bords : la découpe le couperait, ainsi que son contour de focus.
Le même bandeau peut servir d'en-tête pleine page et de petite bannière dans une colonne. Avec une media query, les deux prendraient la même forme ; ici chacun prend celle qui convient à sa place.