cursor
Baseline
Widely available
*
This feature is well established and works across many devices and browser versions. It’s been available across browsers since décembre 2021.
* Some parts of this feature may have varying levels of support.
La propriété CSS cursor
définit la forme du curseur (s'il y en a un) lorsque le pointeur est au-dessus de l'élément.
Le paramètre du curseur doit informer les utilisateurs des opérations pouvant être effectuées avec la souris à l'emplacement actuel, notamment : sélection de texte, activation des menus d'aide ou contextuels, copie de contenu, redimensionnement des tableaux, etc. Vous pouvez spécifier le type de curseur à l'aide d'un mot-clé ou charger une icône spécifique à utiliser (avec des images de replis facultatives et un mot-clé obligatoire comme solution de repli finale).
Exemple interactif
cursor: help;
cursor: wait;
cursor: crosshair;
cursor: not-allowed;
cursor: zoom-in;
cursor: grab;
<section class="default-example container" id="default-example">
<div id="example-element">
Passez sur cet élément pour voir le style du curseur.
</div>
</section>
#example-element {
display: flex;
background-color: #1766aa;
color: white;
height: 180px;
width: 360px;
justify-content: center;
align-items: center;
font-size: 14pt;
padding: 5px;
}
Syntaxe
/* Valeurs avec un mot-clé */
cursor: pointer;
cursor: auto;
/* … */
cursor: zoom-out;
/* Une valeur d'URL avec un mot-clé par défaut */
cursor: url(hand.cur), pointer;
/* Une valeur d'URL avec des coordonnées et un mot-clé par défaut */
cursor:
url(cursor1.png) 4 12,
auto;
cursor:
url(cursor2.png) 2 2,
pointer;
/* Liens et liens de repli (certaines avec des coordonnées), avec un mot-clé
obligatoire de repli */
cursor:
url("cursor_1.svg") 4 5,
url("cursor_2.svg"),
/* …, */ url("cursor_n.cur") 5 5,
progress;
/* Valeurs globales */
cursor: inherit;
cursor: initial;
cursor: revert;
cursor: revert-layer;
cursor: unset;
La propriété cursor
peut être définie grâce à zéro ou plusieurs valeurs <url>
séparées par des virgules et suivi par un unique mot-clé obligatoire. Chaque <url>
doit pointer vers un fichier image. Le navigateur essaiera de télécharger la première image indiquée et passera à la suivante s'il ne peut pas. Si aucune image ne fonctionne, il utilisera le mot-clé final.
Chaque <url>
doit pointer vers un fichier image.
Le navigateur essaiera de charger la première image spécifiée, en passant à la suivante si elle ne peut pas être chargée, et en revenant à la valeur du mot-clé si aucune image n'a pu être chargée (ou si aucune n'a été spécifiée).
Chaque <url>
peut éventuellement être suivi par un couple de nombres séparés par un espace qui représente les coordonnées <x>
et <y>
(abscisse puis ordonnée) du point d'action (hotspot) du curseur par rapport au coin en haut à gauche de l'image.
Valeurs
<url>
Facultatif-
Une
url(…)
ou une liste d'URL séparées par des virgulesurl(…), url(…), …
pointant vers un fichier image. On peut utiliser plusieurs<url>
, au cas où certains types d'images ne sont pas pris en charge. Il est obligatoire qu'une valeur non-URL soit présente à la fin de cette liste. <x>
,<y>
Facultatif-
Des coordonnées en abscisses et en ordonnées sans unité, inférieures à 32.
- Valeurs utilisant un mot-clé (
keyword
) -
Une valeur de mot-clé doit être spécifiée, indiquant soit le type de curseur à utiliser, soit le curseur de secours à utiliser si toutes les icônes spécifiées ne parviennent pas à se charger.
Les mots-clés disponibles sont répertoriés dans le tableau ci-dessous. À l'exception de
none
, qui signifie « aucun curseur », une image montre comment les curseurs étaient auparavant rendus. Vous pouvez passer votre souris sur les lignes du tableau pour voir l'effet des différentes valeurs de mots-clés de curseur sur votre navigateur actuel.Catégorie Valeur CSS Rendu Description Général auto
Le navigateur détermine le curseur à afficher en fonction du contexte (par exemple, l'effet sera équivalent à text
lors du survol du texte).default
Le curseur par défaut de la plateforme (qui est généralement une flèche). none
Aucun curseur n'est affiché. Liens & états context-menu
Un menu contextuel est disponible sous le curseur. help
Le pointeur indique qu'une aide est disponible. pointer
Le curseur est un pointeur qui indique un lien. Généralement c'est une main. progress
Le programme est occupé en arrière-plan mais l'utilisateur peut toujours interagir avec l'interface (à la différence de wait
).wait
Le programme est occupé, empêchant toute interaction (à la différence de progress
). Parfois, une image d'un sablier ou d'une montre.Sélection cell
Le pointeur indique que la ou les cellules du tableau peuvent être sélectionnées. crosshair
Un curseur en forme de croix, généralement utilisé pour indiquer une sélection sur une image. text
Le pointeur indique que le texte peut être sélectionné. vertical-text
Le pointeur indique que du texte vertical peut être sélectionné. Glisser/déposer alias
Le pointeur indique qu'un alias ou qu'un raccourci sera créé. copy
Le pointeur indique que quelque chose devra être copié. move
L'objet survolé devra être déplacé. no-drop
Le curseur indique qu'on ne peut pas déposer d'élément à cet endroit. bug 275173 pour Windows et Mac OS X, « no-drop
a le même effet quenot-allowed
».not-allowed
Le curseur indique que quelque chose ne peut pas être fait. grab
Le pointeur indique que le contenu peut être accroché/attrapé ou est accroché/attrapé pour être glissé et déposé quelque part.
grabbing
Redimensionnement & défilement all-scroll
Le curseur indique qu'on peut faire défiler le contenu dans n'importe quelle direction. Bug 275174 pour Windows, « all-scroll
a le même effet quemove
".col-resize
L'élément ou la colonne peut être redimensionné horizontalement. row-resize
L'élément ou la ligne peut être redimensionné verticalement. n-resize
Un bord peut être déplacé. Par exemple, le curseur
se-resize
peut être utilisé lorsqu'on redimensionne une boîte à partir de son coin sud-est.Dans certains environnements, un curseur bidirectionnel équivalent est affiché (ex.
n-resize
ets-resize
sont synonymes dens-resize
).e-resize
s-resize
w-resize
ne-resize
nw-resize
se-resize
sw-resize
ew-resize
Le pointeur indique un redimensionnement bidirectionnel. ns-resize
nesw-resize
nwse-resize
Zoom zoom-in
Le pointeur indique qu'on peut zoomer/dézoomer sur le contenu.
zoom-out
Définition formelle
Valeur initiale | auto |
---|---|
Applicabilité | tous les éléments |
Héritée | oui |
Valeur calculée | comme spécifié mais avec les valeurs url() rendues absolues |
Type d'animation | discrète |
Syntaxe formelle
cursor =
<cursor-image>#? <cursor-predefined>
<cursor-image> =
[ <url> | <url-set> ] [ <number>{2} ]?
<cursor-predefined> =
auto |
default |
none |
context-menu |
help |
pointer |
progress |
wait |
cell |
crosshair |
text |
vertical-text |
alias |
copy |
move |
no-drop |
not-allowed |
grab |
grabbing |
e-resize |
n-resize |
ne-resize |
nw-resize |
s-resize |
se-resize |
sw-resize |
w-resize |
ew-resize |
ns-resize |
nesw-resize |
nwse-resize |
col-resize |
row-resize |
all-scroll |
zoom-in |
zoom-out
<url> =
<url()> |
<src()>
<url()> =
url( <string> <url-modifier>* ) |
<url-token>
<src()> =
src( <string> <url-modifier>* )
Notes d'utilisation
>Limites de taille des icônes
La spécification ne limite pas la taille de l'image cursor
, les agents utilisateurs les restreignent généralement pour éviter un usage abusif.
Par exemple, sur Firefox et Chromium, les images de curseur sont limitées à 128x128 pixels par défaut, mais il est recommandé de limiter la taille de l'image du curseur à 32x32 pixels. Les changements de curseur qui utilisent des images plus grandes que la taille maximale prise en charge par l'agent utilisateur seront généralement ignorés.
Formats de fichiers image pris en charge
Les agents utilisateurs sont tenus par la spécification de prendre en charge les fichiers PNG, les fichiers SVG v1.1 en mode statique sécurisé contenant une taille naturelle, et tout autre format de fichier image non animé qu'ils prennent en charge pour les images dans d'autres propriétés.
Les navigateurs de bureau prennent également largement en charge le format de fichier .cur
.
La spécification indique en outre que les agents utilisateurs devraient également prendre en charge les fichiers SVG v1.1 en mode animé sécurisé contenant une taille naturelle, ainsi que tout autre format de fichier image animé qu'ils prennent en charge pour les images dans d'autres propriétés. Les agents utilisateurs peuvent prendre en charge à la fois des images SVG statiques et animées qui ne contiennent pas de taille naturelle.
iPadOS
iPadOS prend en charge les dispositifs de pointage tels que les trackpads et les souris. Par défaut, le curseur de l'iPad est affiché sous la forme d'un cercle, et la seule valeur prise en charge qui modifiera l'apparence du pointeur est text
.
Autres notes
Les changements de curseur qui intersectent les zones de la barre d'outils sont souvent bloqués pour éviter le spoofing.
Exemples
>Paramétrage des types de curseur
.toto {
cursor: crosshair;
}
.tata {
cursor: zoom-in;
}
/* Une valeur de mot-clé de repli est requise lors de l'utilisation d'une URL */
.titi {
cursor: url("hyper.cur"), auto;
}
Spécifications
Specification |
---|
CSS Basic User Interface Module Level 4> # cursor> |
Compatibilité des navigateurs
Loading…
Voir aussi
pointer-events
- Le type de donnée
<url>
- L'attribut SVG
cursor