L'idée de base est que la couleur du curseur est la même que celle du texte. La première chose à faire est donc de rendre le texte transparent, ce qui fait disparaître le curseur avec lui. Ensuite, vous pouvez rendre le texte à nouveau visible grâce à une ombre de texte.
Utilisez ce lien pour le voir en direct dans jsfiddle .
input[type="text"]{
color : transparent;
text-shadow : 0 0 0 #000;
}
input[type="text"]:focus{
outline : none;
}
Mise à jour :
Connu pour ne pas fonctionner dans iOS 8 y IE 11
Une autre de mes idées est un peu plus compliquée et nécessite du javascript.
Partie HTML et CSS :
Vous créez 2 champs de saisie et vous en positionnez un exactement au-dessus de l'autre avec z-index, etc. Ensuite, vous rendez le champ de saisie supérieur complètement transparent, sans focus, sans couleur, etc. Vous devez définir l'entrée inférieure visible comme désactivée, de sorte qu'elle affiche uniquement le contenu de l'entrée supérieure, mais ne fonctionne pas réellement.
Partie Javascript :
Après tout ce qui précède, vous synchronisez les deux entrées. Lorsque vous appuyez sur une touche ou lorsque vous changez, vous copiez le contenu de l'entrée supérieure vers l'entrée inférieure.
En résumé, vous tapez dans un champ de saisie invisible, et celui-ci sera envoyé au backend lorsque le formulaire sera soumis, mais chaque mise à jour du texte qu'il contient sera répercutée dans le champ de saisie inférieur visible, mais désactivé.