htmlcssinputplaceholder

How to change placeholder color of specific input field?


I want to change the color of specific place holder. I'm using many input fields for my project, the problem is that in some section I need the color grey for placeholder and in some section I need the color white. Here is my code:

::-webkit-input-placeholder { /* WebKit, Blink, Edge */
    color:    #909;
}
:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
   color:    #909;
   opacity:  1;
}
::-moz-placeholder { /* Mozilla Firefox 19+ */
   color:    #909;
   opacity:  1;
}
:-ms-input-placeholder { /* Internet Explorer 10-11 */
   color:    #909;
}

But this code is implemented on all the input placeholders, and I don't need all the input placeholders in the same color.


Solution

  • You need to assign the -input-placeholder to some classname and add that class to any input you need its placeholder to have this, just like this JS Fiddle

    .change::-webkit-input-placeholder {
        /* WebKit, Blink, Edge */
        color: #909;
    }
    .change:-moz-placeholder {
        /* Mozilla Firefox 4 to 18 */
        color: #909;
        opacity: 1;
    }
    .change::-moz-placeholder {
        /* Mozilla Firefox 19+ */
        color: #909;
        opacity: 1;
    }
    .change:-ms-input-placeholder {
        /* Internet Explorer 10-11 */
        color: #909;
    }
    input[type="text"]{
        display:block;
        width:300px;
        padding:5px;
        margin-bottom:5px;
        font-size:1.5em;
    }
    <input type="text" placeholder="text1" class="change">
    <input type="text" placeholder="text2">
    <input type="text" placeholder="text3">
    <input type="text" placeholder="text4"  class="change">
    <input type="text" placeholder="text5">