Maison > interface Web > tutoriel CSS > Comment puis-je empêcher la sélection de texte sur ma page HTML ?

Comment puis-je empêcher la sélection de texte sur ma page HTML ?

Susan Sarandon
Libérer: 2024-12-14 16:46:19
original
714 Les gens l'ont consulté

How Can I Prevent Text Selection on My HTML Page?

Désélectionner du texte sur une page HTML : un guide complet

Dans le domaine de l'expérience utilisateur, il peut être souhaitable d'empêcher la sélection de texte sur certains éléments d'une page HTML. Ceci est particulièrement pertinent pour des éléments tels que les noms d'onglets, qui peuvent sembler peu attrayants lorsqu'ils sont mis en surbrillance.

Solution CSS

Heureusement, la plupart des navigateurs modernes proposent une solution basée sur CSS :

*.unselectable {
  -moz-user-select: -moz-none;
  -khtml-user-select: none;
  -webkit-user-select: none;

  /* IE 10+ */
  -ms-user-select: none;
  user-select: none;
}
Copier après la connexion

Ajoutez simplement ce code à votre feuille de style, et les éléments désignés deviendront non sélectionnable.

Alternative à IE et Opera

Pour les versions antérieures d'Internet Explorer et d'Opera, l'attribut non sélectionnable peut être utilisé :

<div>
Copier après la connexion

Cependant , notez que cet attribut n'est pas hérité, vous devrez donc peut-être le définir explicitement pour chaque descendant element.

Solution JavaScript récursive

Si vous rencontrez des problèmes d'héritage, vous pouvez utiliser JavaScript pour appliquer l'attribut non sélectionnable de manière récursive :

function makeUnselectable(node) {
  if (node.nodeType == 1) {
    node.setAttribute("unselectable", "on");
  }
  var child = node.firstChild;
  while (child) {
    makeUnselectable(child);
    child = child.nextSibling;
  }
}

makeUnselectable(document.getElementById("foo"));
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal