如何动态修改 placeholder 的颜色

本文介绍如何使用CSS伪类自定义输入框的占位符颜色,通过为input元素添加invalid类,实现不同浏览器下placeholder颜色的改变,特别注意在Firefox中需要额外设置opacity属性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

.invalid:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
    color: red;  
}

.invalid::-moz-placeholder { /* Mozilla Firefox 19+ */
    color: red;
}

input.invalid:-ms-input-placeholder{
    color: red;
}

input.invalid::-webkit-input-placeholder {
    color: red;
}

用这些伪类就可以让placeholder变色了,你只需要在用户输错的时候,用js给input加上invalid class就行了

<input class="invalid" type="text" id="name" name="name" placeholder="请输入姓名">

 

这些属性,我都实测过,是生效的,但是在firefox中需要添加opacity:1,因为firefox默认的有一个透明图,要把它的这个属性给重写掉,最后就是

        .invalid:-moz-placeholder { /* Mozilla Firefox 4 to 18 */
            color: red;
            opacity: 1;
        }
        .invalid::-moz-placeholder { /* Mozilla Firefox 19+ */
            color: red;
            opacity: 1;
        }
        input.invalid:-ms-input-placeholder{
            color: red;
        }
        input.invalid::-webkit-input-placeholder {
            color: red;
        }

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值