I\'m designing a web site and i would like to ask you guys that, how can I change the color of just one character in a string in a text box of HTML by CSS?
example
I can't believe no one has suggested this yet. But if you're ok with a WebKit only solution, you can make a color gradient with discrete separations and apply it to the text like this:
.c1 {
background: linear-gradient(to right, black 0% 1.19em, red 1.19em 1.9em, black 1.9em 100%);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.c2 {
color: white;
background: linear-gradient(to right, black 0% 1.19em, red 1.19em 1.9em, black 1.9em 100%);
}
input{
font-family: "Courier New", Courier;
}
STACK OVER FLOW
This is what the gradient looks like with the text over it:
STACK OVER FLOW
It even works on input forms, however you'll want to change the font to a Monospaced font like Courier so the color always lines up with the same letter:
This is nice because it's not limited by the tag the text is placed in like some of the other answers. And if you're in a situation where you can't really change the html (for instance if you're using the same style sheet on multiple pages and need to make a retroactive change) this could be helpful. If you can change the html though, xec's answer has much better browser support.