2012-01-15 16 views
8

¿Por qué el pseudo-elemento CSS3 selection no cambia todas las partes del resaltado? Como se puede ver en la captura de pantalla que he seleccionado parte de la página, y parte de la selección es el color azul brillante por defecto:¿Por qué la selección de pseudo :: CSS3 no cambia el color de todas las partes?

enter image description here

Este es el CSS que estoy usando, es en el parte superior de mi archivo CSS:

::selection { background: #3B3B3B; color: #fff; } 
::-moz-selection { background: #3B3B3B; color: #fff; } 

parece que lo más destacado para las entradas (texto, casillas de verificación, etc.) y un espacio en blanco no cambia. ¿Alguien sabe por qué esto es así, y hay una manera de cambiarlo por cada parte de la página por lo que el color de resaltado es consistente? Estoy usando Chrome.

Respuesta

11

El pseudo-elemento ::selection no funciona correctamente en Chrome/Safari. <input> elementos serán el color de resaltado estándar. Es una muy vieja y aún pendiente de errores:

https://bugs.webkit.org/show_bug.cgi?id=38943

La única solución que he sido capaz de llegar a está usando contenteditable elementos en lugar de <input> elementos.

Esto es una demostración de que he creado: http://jsfiddle.net/ThinkingStiff/FcCgA/
Y un post que escribí al respecto: https://stackoverflow.com/a/8529323/918414

+0

Ah, ya veo. Gracias por esto. Con suerte, el equipo de webkit lo arreglará pronto, ya que es un error muy molesto. Por cierto, ¿cómo conseguiste ese pequeño banner Stack Overflow en tu jsFiddle Demo al que te vinculaste anteriormente? No veo el marcado en ningún lugar en el cuadro HTML de jsFiddle ... – Nathan

+0

@ Nathan Desplácese hacia abajo en el cuadro HTML. – ThinkingStiff

+0

Oh. No vi eso: P – Nathan

Cuestiones relacionadas