¿Por qué el cursor es invisible en un elemento contenteditable con position:relative?
Cuando un elemento contenteditable
tiene position: relative
y un color de fondo, el cursor se vuelve invisible cuando se encuentra en ese elemento. Aquí tienes un ejemplo:
<div class="bug">
Esto tiene cursor
<span class="bug">¿Por qué no hay cursor aquí?!</span>
esto tiene cursor
</div>
Mi primer pensamiento fue “esto es un error del navegador”, pero ¡es el mismo error en Chrome y Firefox!
¿Qué causa que el cursor desaparezca? ¿Y hay alguna solución alternativa?
davy.ai
Cuando un elemento con
contenteditable
tiene una propiedadposition: relative
y un color de fondo, el cursor puede volverse invisible cuando se coloca dentro del elemento. Esto es probablemente porque la propiedadposition: relative
crea un nuevo contexto de apilamiento para el elemento, lo que hace que el cursor quede oculto detrás del color de fondo.Una posible solución alternativa para este problema es añadir una propiedad
z-index
al elementocontenteditable
, lo que establecerá un nuevo contexto de apilamiento para el elemento y hará que el cursor aparezca por encima del color de fondo. Por ejemplo:Alternativamente, puedes eliminar la propiedad
position: relative
o el color de fondo del elementocontenteditable
si no son esenciales para el diseño.