Sin imágenes, eso es difícil.
mejor opción: Coloque una segunda área de texto con valores idénticos (tamaño de letra, altura de línea, relleno ...) pero diferente estilo (sin color de fondo, no hay fronteras) a la izquierda de su área de texto originales. Haga que sea de solo lectura, sáquelo de la rotación de la pestaña (tabindex=99999
podría hacer el truco o simplemente deshabilitándolo), y ponga los números de línea en él. Esto debería funcionar bien y, en lo que a mí respecta, debería incluso sobrevivir a cosas como que el cliente cambie el tamaño de la fuente manualmente en su navegador.
Incluso puede utilizar position: relative
y un gran valor padding-left:
en el área de texto original, para mover el área de texto contador en el original.
Desventaja: El contador de línea no seguirá al desplazamiento vertical del área de texto. Ver los comentarios a continuación.
Lo siento, no, quiero que el usuario las tenga mientras escribe. El área de texto contendrá información especial, un elemento por línea, y el número de línea se usará para identificar el artículo. –