Change color of one character in a text box HTML/CSS

后端 未结 7 2018
南笙
南笙 2020-12-01 12:24

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

7条回答
  •  北海茫月
    2020-12-01 12:38

    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.

提交回复
热议问题