¿Por qué se eliminó :: selection de la especificación CSS Selectors, y cómo funciona su especificidad contra los selectores de tipo?

Algunas preguntas sobre el uso de CSS para especificar el color del texto seleccionado:

https://developer.mozilla.org/En/CSS/::selection dice que,

::selection fue redactado paraSelectores CSS3 pero eliminado del borrador CSS3 actual. De todos modos, se implementa en los navegadores y el soporte continuará.

¿Por qué fue eliminado?

Imagine que existe una regla como la siguiente en el CSS predeterminado implementado por el navegador:

::selection { background-color: Highlight; color: HighlightText; }

Además, imagine que una regla como la siguiente se define en cualquier hoja de estilo autorizada específica del sitio:

body { background-color: white }

Dadas estas reglas, ¿cuál sería el color de fondo del texto del cuerpo seleccionado: seríawhiteoHighlight?

Quizás la regla en la hoja de estilo del autor debería anular la regla predeterminada: porque de acuerdo con la especificidad,body es tan específico como::selection y se especifica más tarde (y, por lo tanto, debe anular la entrada anterior).

Por otro lado, eso daría como resultado que el texto sea invisible cuando se seleccione (porque siHighlight es azul yHighlightText es blanco, de modo que el texto seleccionado es blanco sobre azul, y luego anula elbackground-color del texto seleccionado para que sea blanco resultaría en blanco sobre blanco).

Suponiendo que el comportamiento en el paso 2 es indeseable, ¿cómo evitarlo?

Digamos que es un error en la hoja de estilo del usuario, que nunca debería especificarbackground-color sin especificar tambiéncolor?

Dilobody no es una coincidencia para el texto del cuerpo seleccionado, excepto cuando el::selection El pseudo-elemento se especifica como parte del selector?

Respuestas a la pregunta(4)

Su respuesta a la pregunta