diff options
Diffstat (limited to 'files/fr/web/css/pointer-events/index.md')
-rw-r--r-- | files/fr/web/css/pointer-events/index.md | 162 |
1 files changed, 72 insertions, 90 deletions
diff --git a/files/fr/web/css/pointer-events/index.md b/files/fr/web/css/pointer-events/index.md index 84f450cbbe..4088ac8be2 100644 --- a/files/fr/web/css/pointer-events/index.md +++ b/files/fr/web/css/pointer-events/index.md @@ -8,17 +8,18 @@ tags: - SVG translation_of: Web/CSS/pointer-events --- -<div>{{CSSRef}}</div> +{{CSSRef}} -<p>La propriété CSS<strong> <code>pointer-events</code></strong> permet aux auteurs de contrôler les circonstances dans lesquelles un élément graphique peut être <a href="/fr/docs/Web/API/Event/target">une cible</a>, c'est-à-dire recevoir des événements de la souris, du pointeur ou du doigt.</p> +La propriété CSS** `pointer-events`** permet aux auteurs de contrôler les circonstances dans lesquelles un élément graphique peut être [une cible](/fr/docs/Web/API/Event/target), c'est-à-dire recevoir des événements de la souris, du pointeur ou du doigt. -<div>{{EmbedInteractiveExample("pages/css/pointer-events.html")}}</div> +{{EmbedInteractiveExample("pages/css/pointer-events.html")}} -<p>Lorsque cette propriété n'est pas définie, pour le contenu SVG, on aura le même effet qu'avec la valeur <code>visiblePainted</code>. Lorsqu'on utilise la valeur <code>none</code>, cela indique que l'élément ne peut pas recevoir d'événement de pointeur mais cela indique également qu'on peut passer « au travers » de l'élément pour atteindre des contrôles qui pourraient être en-dessous/derrière.</p> +Lorsque cette propriété n'est pas définie, pour le contenu SVG, on aura le même effet qu'avec la valeur `visiblePainted`. Lorsqu'on utilise la valeur `none`, cela indique que l'élément ne peut pas recevoir d'événement de pointeur mais cela indique également qu'on peut passer « au travers » de l'élément pour atteindre des contrôles qui pourraient être en-dessous/derrière. -<h2 id="Syntaxe">Syntaxe</h2> +## Syntaxe -<pre class="brush: css no-line-numbers">/* Valeurs avec un mot-clé */ +```css +/* Valeurs avec un mot-clé */ pointer-events: auto; pointer-events: none; pointer-events: visiblePainted; /* SVG uniquement */ @@ -34,109 +35,90 @@ pointer-events: all; /* SVG uniquement */ pointer-events: inherit; pointer-events: initial; pointer-events: unset; -</pre> - -<p>La propriété <code>pointer-events</code> est définie grâce à un mot-clé parmi ceux de la liste suivante.</p> - -<h3 id="Valeurs">Valeurs</h3> - -<dl> - <dt><code>auto</code></dt> - <dd>L'élément se comporte comme si la propriété <code>pointer-events</code> n'était pas spécifiée. Pour le contenu SVG, cette valeur et la valeur <code>visiblePainted</code> ont le même effet.</dd> - <dt><code>none</code></dt> - <dd>L'élément ne sera jamais <a href="/fr/docs/Web/API/Event/target">la cible</a> d'événements de pointeur. Toutefois, les événements peuvent atteindre les éléments qui sont des descendants si ceux-ci ont une autre valeur pour <code>pointer-events</code>. Sous ces circonstances, les événements déclencheront les gestionnaires d'événement sur l'élément parent jusqu'à/depuis l'élément descendant lors de la phase de capture/<a href="/fr/docs/Web/API/Event/bubbles">bouillonnement</a> de l'événement.</dd> -</dl> - -<h4 id="Valeurs_uniquement_utilisables_avec_SVG">Valeurs uniquement utilisables avec SVG</h4> - -<dl> - <dt><code>visiblePainted</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que si la propriété <code>visibility</code> vaut <code>visible</code> et lorsque le pointeur est au-dessus de l'intérieur de l'élément et que la valeur de la propriété <code>fill</code> n'est pas <code>none</code> ou lorsque le pointeur de la souris est au-dessus du contour de l'élément et que la valeur de la propriété <code>stroke</code> n'est pas <code>none</code>.</dd> - <dt><code>visibleFill</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que si la propriété <code>visibility</code> vaut <code>visible</code> et lorsque le pointeur est au-dessus de l'intérieur de l'élément. La valeur de la propriété <code>fill</code> n'a pas d'impact sur le traitement des événements.</dd> - <dt><code>visibleStroke</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que si la propriété <code>visibility</code> vaut <code>visible</code> et lorsque le pointeur de la souris est au-dessus du contour de l'élément. La valeur de la propriété <code>stroke</code> n'a pas d'impact sur le traitement des événements.</dd> - <dt><code>visible</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que si la propriété <code>visibility</code> vaut <code>visible</code> et lorsque le pointeur est au-dessus de l'intérieur de l'élément ou lorsque le pointeur de la souris est au-dessus du contour de l'élément. Les valeurs de <code>fill</code> et <code>stroke</code> n'ont pas d'impact sur le traitement des événements.</dd> - <dt><code>painted</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus de l'intérieur de l'élément et que la valeur de la propriété <code>fill</code> n'est pas <code>none</code> ou lorsque le pointeur de la souris est au-dessus du contour de l'élément et que la valeur de la propriété <code>stroke</code> n'est pas <code>none</code>. La valeur de <code>visibility</code> n'a pas d'impact sur le traitement des événements.</dd> - <dt><code>fill</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus de l'intérieur de l'élément. Les valeurs de <code>fill</code> et de <code>visibility</code> n'ont pas d'impact sur le traitement des événements.</dd> - <dt><code>stroke</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus du contour de l'élément. Les valeurs de <code>stroke</code> et de <code>visibility</code> n'ont pas d'impact sur le traitement des événements.</dd> - <dt><code>all</code></dt> - <dd>L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus de l'intérieur de l'élément ou lorsque le pointeur de la souris est au-dessus du contour de l'élément. Les valeurs de <code>fill</code>, <code>stroke</code> et de <code>visibility</code> n'ont pas d'impact sur le traitement des événements.</dd> -</dl> - -<h3 id="Syntaxe_formelle">Syntaxe formelle</h3> +``` + +La propriété `pointer-events` est définie grâce à un mot-clé parmi ceux de la liste suivante. + +### Valeurs + +- `auto` + - : L'élément se comporte comme si la propriété `pointer-events` n'était pas spécifiée. Pour le contenu SVG, cette valeur et la valeur `visiblePainted` ont le même effet. +- `none` + - : L'élément ne sera jamais [la cible](/fr/docs/Web/API/Event/target) d'événements de pointeur. Toutefois, les événements peuvent atteindre les éléments qui sont des descendants si ceux-ci ont une autre valeur pour `pointer-events`. Sous ces circonstances, les événements déclencheront les gestionnaires d'événement sur l'élément parent jusqu'à/depuis l'élément descendant lors de la phase de capture/[bouillonnement](/fr/docs/Web/API/Event/bubbles) de l'événement. + +#### Valeurs uniquement utilisables avec SVG + +- `visiblePainted` + - : L'élément ne peut être la cible d'un événement de pointeur que si la propriété `visibility` vaut `visible` et lorsque le pointeur est au-dessus de l'intérieur de l'élément et que la valeur de la propriété `fill` n'est pas `none` ou lorsque le pointeur de la souris est au-dessus du contour de l'élément et que la valeur de la propriété `stroke` n'est pas `none`. +- `visibleFill` + - : L'élément ne peut être la cible d'un événement de pointeur que si la propriété `visibility` vaut `visible` et lorsque le pointeur est au-dessus de l'intérieur de l'élément. La valeur de la propriété `fill` n'a pas d'impact sur le traitement des événements. +- `visibleStroke` + - : L'élément ne peut être la cible d'un événement de pointeur que si la propriété `visibility` vaut `visible` et lorsque le pointeur de la souris est au-dessus du contour de l'élément. La valeur de la propriété `stroke` n'a pas d'impact sur le traitement des événements. +- `visible` + - : L'élément ne peut être la cible d'un événement de pointeur que si la propriété `visibility` vaut `visible` et lorsque le pointeur est au-dessus de l'intérieur de l'élément ou lorsque le pointeur de la souris est au-dessus du contour de l'élément. Les valeurs de `fill` et `stroke` n'ont pas d'impact sur le traitement des événements. +- `painted` + - : L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus de l'intérieur de l'élément et que la valeur de la propriété `fill` n'est pas `none` ou lorsque le pointeur de la souris est au-dessus du contour de l'élément et que la valeur de la propriété `stroke` n'est pas `none`. La valeur de `visibility` n'a pas d'impact sur le traitement des événements. +- `fill` + - : L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus de l'intérieur de l'élément. Les valeurs de `fill` et de `visibility` n'ont pas d'impact sur le traitement des événements. +- `stroke` + - : L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus du contour de l'élément. Les valeurs de `stroke` et de `visibility` n'ont pas d'impact sur le traitement des événements. +- `all` + - : L'élément ne peut être la cible d'un événement de pointeur que lorsque le pointeur est au-dessus de l'intérieur de l'élément ou lorsque le pointeur de la souris est au-dessus du contour de l'élément. Les valeurs de `fill`, `stroke` et de `visibility` n'ont pas d'impact sur le traitement des événements. + +### Syntaxe formelle {{csssyntax}} -<h2 id="Exemples">Exemples</h2> +## Exemples -<p>Dans l'exemple qui suit, on rend le lien http://exemple.com inactif.</p> +Dans l'exemple qui suit, on rend le lien http\://exemple.com inactif. -<h3 id="HTML">HTML</h3> +### HTML -<pre class="brush:html"><ul> - <li><a href="https://developer.mozilla.org">MDN</a></li> - <li><a href="http://exemple.com">exemple.com</a></li> -</ul></pre> +```html +<ul> + <li><a href="https://developer.mozilla.org">MDN</a></li> + <li><a href="http://exemple.com">exemple.com</a></li> +</ul> +``` -<h3 id="CSS">CSS</h3> +### CSS -<pre class="brush:css">a[href="http://exemple.com"] { +```css +a[href="http://exemple.com"] { pointer-events: none; -}</pre> +} +``` -<h3 id="Résultat">Résultat</h3> +### Résultat -<div>{{EmbedLiveSample('Exemples', "500", "100")}}</div> +{{EmbedLiveSample('Exemples', "500", "100")}} -<h2 id="Notes">Notes</h2> +## Notes -<p>L'utilisation de <code>pointer-events</code> peut empêcher que des événements soient directement déclenchés sur l'élément avec les pointeurs. Cela ne signifie en aucun cas que les gestionnaires d'événement de cet élément ne pourront pas être déclenchés ! Si l'un des éléments descendants possède une valeur explicite de <code>pointer-events</code> qui lui permet de recevoir des événements de pointeur, les événements qui parcourent les ancêtres pourront déclencher les gestionnaires d'événements associés. Bien entendu, tout pointage, qui a lieu sur un endroit de l'écran qui est couvert par le parent mais pas par l'élément descendant, ne déclenchera d'événement. L'événement passera au travers du parent et ciblera le contenu qui est en-dessous.</p> +L'utilisation de `pointer-events` peut empêcher que des événements soient directement déclenchés sur l'élément avec les pointeurs. Cela ne signifie en aucun cas que les gestionnaires d'événement de cet élément ne pourront pas être déclenchés ! Si l'un des éléments descendants possède une valeur explicite de `pointer-events` qui lui permet de recevoir des événements de pointeur, les événements qui parcourent les ancêtres pourront déclencher les gestionnaires d'événements associés. Bien entendu, tout pointage, qui a lieu sur un endroit de l'écran qui est couvert par le parent mais pas par l'élément descendant, ne déclenchera d'événement. L'événement passera au travers du parent et ciblera le contenu qui est en-dessous. -<p>Les éléments avec <code>pointer-events: none</code> continueront de recevoir le focus via la navigation au clavier avec la touche <kbd>Tab</kbd>.</p> +Les éléments avec `pointer-events: none` continueront de recevoir le focus via la navigation au clavier avec la touche <kbd>Tab</kbd>. -<h2 id="Spécifications">Spécifications</h2> +## Spécifications -<table class="standard-table"> - <thead> - <tr> - <th scope="col">Spécification</th> - <th scope="col">État</th> - <th scope="col">Commentaires</th> - </tr> - </thead> - <tbody> - <tr> - <td>{{SpecName('SVG1.1', 'interact.html#PointerEventsProperty', 'pointer-events')}}</td> - <td>{{Spec2('SVG1.1')}}</td> - <td></td> - </tr> - <tr> - <td>{{SpecName('SVG2', 'interact.html#PointerEventsProperty', 'pointer-events')}}</td> - <td>{{Spec2('SVG2')}}</td> - <td></td> - </tr> - </tbody> -</table> +| Spécification | État | Commentaires | +| -------------------------------------------------------------------------------------------------------- | ------------------------ | ------------ | +| {{SpecName('SVG1.1', 'interact.html#PointerEventsProperty', 'pointer-events')}} | {{Spec2('SVG1.1')}} | | +| {{SpecName('SVG2', 'interact.html#PointerEventsProperty', 'pointer-events')}} | {{Spec2('SVG2')}} | | -<p>L'extension de cette propriété aux éléments HTML, bien qu'elle fut présente dans les premiers brouillons de la spécification <em>CSS Basic User Interface Module Level 3</em>, a été remise à la spécification de <a href="https://wiki.csswg.org/spec/css4-ui#pointer-events"> niveau 4</a>.</p> +L'extension de cette propriété aux éléments HTML, bien qu'elle fut présente dans les premiers brouillons de la spécification _CSS Basic User Interface Module Level 3_, a été remise à la spécification de [niveau 4](https://wiki.csswg.org/spec/css4-ui#pointer-events). -<p>{{cssinfo}}</p> +{{cssinfo}} -<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> +## Compatibilité des navigateurs -<p>{{Compat("css.properties.pointer-events")}}</p> +{{Compat("css.properties.pointer-events")}} -<h2 id="Voir_aussi">Voir aussi</h2> +## Voir aussi -<ul> - <li>L'attribut SVG {{SVGAttr("pointer-events")}}</li> - <li>L'attribut SVG {{SVGAttr("visibility")}}</li> - <li>La propriété {{cssxref("user-select")}} qui contrôle lorsque l'utilisateur peut sélectionner du texte</li> - <li><a href="https://webkit.org/specs/PointerEventsProperty.html">« Spécification » WebKit pour étendre la propriété pointer-events</a> au contenu (X)HTML</li> - <li><a href="http://www.thecssninja.com/javascript/pointer-events-60fps">Un défilement à 60fps en utilisant <code>pointer-events: none</code> (en anglais)</a></li> -</ul> +- L'attribut SVG {{SVGAttr("pointer-events")}} +- L'attribut SVG {{SVGAttr("visibility")}} +- La propriété {{cssxref("user-select")}} qui contrôle lorsque l'utilisateur peut sélectionner du texte +- [« Spécification » WebKit pour étendre la propriété pointer-events](https://webkit.org/specs/PointerEventsProperty.html) au contenu (X)HTML +- [Un défilement à 60fps en utilisant `pointer-events: none` (en anglais)](http://www.thecssninja.com/javascript/pointer-events-60fps) |