Cómo deshabilitar el resaltado en una imagen

2 minutos de lectura

Estoy tratando de deshabilitar el resaltado en la imagen, cuando muevo el mouse sobre la imagen y arrastro, eche un vistazo:
ingrese la descripción de la imagen aquí

¡Muchas gracias!

  • Este es el primer resultado en Google para algunas búsquedas. Creo que esto es lo que muchos de ustedes están buscando!

    – llavero

    23 de enero de 2013 a las 0:05

  • Posible duplicado de la regla CSS para deshabilitar el resaltado de selección de texto

    – showdev

    16 de febrero de 2016 a las 17:27

Usar selección de usuario propiedad:

img{
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

  • Creo que este es el método más limpio a día de hoy. Además, para cualquiera que busque una forma de desactivar efectos extraños en imágenes como yo, eche un vistazo a la draggable atributo. Configurándolo en false en la etiqueta img evitará la imagen fantasma en caso de que el usuario la arrastre accidentalmente (o no).

    – Herick

    13 de noviembre de 2014 a las 11:45

avatar de usuario de orlp
orlp

Puedes probar esto (esto no funcionará en todos los navegadores):

img::-moz-selection {
    background-color: transparent;
    color: #000;
}

img::selection {
    background-color: transparent;
    color: #000;
}

O puedes usar un <div> con el ancho y la altura apropiados y use una imagen de fondo CSS en él. Por ejemplo, uso esto en mi sitio:

<div id="header"></div>

#header {
    height: 79px;
    width: 401px;
    background: url(http://nclabs.org/images/header.png) no-repeat;
}

Y finalmente puedes usar Javascript para deshabilitarlo programáticamente.

  • 2019 ya, y el pseudo-selector de selección es ahora la mejor solución.

    – Romain

    23 de enero de 2019 a las 13:12


img {
    -khtml-user-select: none;
    -o-user-select: none;
    -moz-user-select: none;
    -webkit-user-select: none;
    user-select: none;
}

  • @Phil Puede editar su respuesta, por lo que ya no es incorrecta. Hay muchas discusiones sobre cómo eliminar las respuestas aceptadas y por qué no se deben eliminar. meta.stackoverflow.com/questions/272849/…

    – tom_mai78101

    29 de junio de 2018 a las 12:44


Esto deshabilitó el resaltado en un elemento DOM:

function disableSelection(target){
    if (typeof target.onselectstart!="undefined") // if IE
        target.onselectstart=function(){return false}
    else if (typeof target.style.MozUserSelect!="undefined") // if Firefox
        target.style.MozUserSelect="none";
    else // others
        target.onmousedown=function(){return false;}

    target.style.cursor = "default";
}

Úsalo así:

disableSelection(document.getElementById("my_image"));

Intente ponerlo como fondo css en lugar de un elemento img.

Avatar de usuario de Bhushana Rao Kadimi
Bhushana Rao Kadimi

img{
   -ms-user-select: none;      /* IE 10+ */
   -moz-user-select: none;     /* Firefox all */
   -webkit-user-select: none;  /* Chrome all / Safari all */
   user-select: none;          /* Likely future */      
}

Avatar de usuario de Aamer Shahzad
Aamer Shahzad

Para eliminar la selección de texto e imágenes de todo el sitio web, use el selector de cuerpo

body {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

¿Ha sido útil esta solución?