La shape-image-threshold
propriété CSS définit les pixels inclus dans la forme d'une image lorsqu'elle shape-outside
est utilisée pour définir la zone flottante d'un élément CSS.
Disons que nous utilisons un dégradé linéaire pour définir la zone flottante d'une forme CSS. Quelque chose comme ça où nous passons d'une couleur unie à une transparence à un angle de 45 °:
![](3616827/shape-image-threshold_css-tricks_2.png.webp)
![](3616827/shape-image-threshold_css-tricks_2.png.webp)
Normalement, nous définirions cela comme l' background-image
élément d'un élément. Si nous flottons cet élément et déposons du contenu à côté de lui, le dégradé et le contenu se trouveraient côte à côte.
Mais si nous échangeons background-image
pour shape-outside
, nous ne voyons plus la pente, mais les enveloppes contenu autour d' elle où les pixels du gradient sont transparents.
Mais disons que nous pensons que le texte doit épouser un peu plus la forme. C'est là que nous pouvons atteindre shape-image-threshold
. Nous pouvons l'utiliser pour ajuster l'endroit où le contenu s'enroule naturellement autour des pixels transparents en incluant des pixels semi-transparents. Par exemple, une shape-image-threshold
valeur de .3 inclura les pixels qui sont opaques à plus de 30% dans la zone flottante de la forme.
Cette fois, nous allons inclure le dégradé pour voir comment cela fonctionne.
Regarde ça? En déclarant shape-image-threshold
sur la deuxième forme et en la définissant sur une valeur de 0,15, nous avons inclus des pixels opaques à plus de 15% dans la zone flottante, ce qui permet au contenu de chevaucher légèrement la forme.
Cela fonctionne également lorsque nous définissons la forme extérieure avec un fichier image réel qui utilise la transparence. Même accord, juste une forme différente pour travailler.
Syntaxe
.logo ( shape-outside: url(/path/to/image.png.webp); shape-image-threshold: .6; )
- S'applique à: floats
- Héritée: non
- Valeur initiale: 0,0
- Type d'animation: nombre
Valeurs
La shape-image-threshold
propriété accepte une seule valeur alpha comprise entre 0 et 1, où 0 est l'équivalent d'un niveau d'opacité de 0% (entièrement transparent) et 1 est l'équivalent d'un niveau d'opacité de 100% (pas de transparence). La valeur initiale est de 0,0.
Prise en charge du navigateur
C'EST À DIRE | Bord | Firefox | Chrome | Safari | Opéra |
---|---|---|---|---|---|
Non | 79+ | 62+ | 37+ | 10.1+ | 24+ |
Chrome Android | Android Firefox | Navigateur Android | Safari sur iOS | Opera Mini |
---|---|---|---|---|
84+ | 68+ | 81+ | 10,3+ | Tout |
Plus d'information
- Spécification de niveau 1 du module de formes CSS (ébauche de l'éditeur)
- Documentation MDN