paint()
Limited availability
Cette fonctionnalité n'est pas Compatible car elle ne fonctionne pas dans certains des navigateurs les plus utilisés.
Le type de données CSS paint() définit une valeur de type <image> générée avec un PaintWorklet.
Syntaxe
paint(workletName, ...parameters)
Paramètres
workletName-
Le nom du worklet enregistré.
parametersFacultatif-
Des paramètres supplémentaires, optionnels, à passer à
paintWorklet.
Syntaxe formelle
<paint()> =
paint( <ident> , <declaration-value>? )
Exemples
>Utilisation simple de paint()
A partir du HTML suivant :
<ul>
<li>Élément 1</li>
<li>Élément 2</li>
<li>Élément 3</li>
<li>Élément 4</li>
<li>Élément 5</li>
<li>Élément 6</li>
<li>Élément 7</li>
<li>Élément 8</li>
<li>Élément 9</li>
<li>Élément 10</li>
<li>Élément N</li>
</ul>
Avec JavaScript, nous enregistrons le paint worklet :
CSS.paintWorklet.addModule(
"https://mdn.github.io/houdini-examples/cssPaint/intro/worklets/boxbg.js",
);
Dans le CSS, on définit la propriété background-image comme un type paint() avec le nom du worklet, boxbg, ainsi que toutes les variables (par ex. : --box-color et --width-subtractor) que le worklet utilisera :
body {
font: 1.2em / 1.2 sans-serif;
}
li {
background-image: paint(boxbg);
--box-color: hsl(55 90% 60%);
}
li:nth-of-type(3n) {
--box-color: hsl(155 90% 60%);
--width-subtractor: 20;
}
li:nth-of-type(3n + 1) {
--box-color: hsl(255 90% 60%);
--width-subtractor: 40;
}
Utilisation de paint() avec paramètres
Vous pouvez passer des arguments optionnels à la fonction CSS paint(). Dans cet exemple, nous passons deux arguments qui contrôlent si le background-image d'un groupe d'éléments de liste est « rempli » ou possède un contour (« stroke »), ainsi que la largeur de ce contour :
body {
font: 1.2em / 1.2 sans-serif;
}
li {
--box-color: hsl(55 90% 60% / 100%);
background-image: paint(hollow-highlights, stroke, 2px);
}
li:nth-of-type(3n) {
--box-color: hsl(155 90% 60% / 100%);
background-image: paint(hollow-highlights, filled, 3px);
}
li:nth-of-type(3n + 1) {
--box-color: hsl(255 90% 60% / 100%);
background-image: paint(hollow-highlights, stroke, 1px);
}
On a inclus une propriété personnalisée dans le bloc du sélecteur définissant une couleur de boîte (boxColor). Les propriétés personnalisées sont accessibles au PaintWorklet.
Spécifications
| Specification |
|---|
| CSS Painting API Level 1> # paint-notation> |
Compatibilité des navigateurs
Chargement…