【uniapp】小程序中input输入框的placeholder-class不生效解决办法

文章讲述了在uniapp微信小程序中,如何在使用input组件时更改placeholder的样式,特别关注了在scoped属性下placeholder-class无效的问题,提出了两种解决方案:一是移除scoped并单独写样式,二是使用deep选择器穿透组件作用域。

问题描述

uniapp微信小程序,使用input组件时,想要改变提示词 placeholder 的样式,但是使用placeholder-class 改变不了

如下:

<input type="text" placeholder="搜索" placeholder-class="placeholder_class">

<style lang="less" scoped>
    .placeholder_class{
      font-size: 26rpx;
    }
</style>

问题分析 

如果你在使用`scoped`属性时无法改变`placeholder`的样式,可能是由于样式的优先级问题。在CSS中,选择器的优先级是根据其特定性和声明顺序来确定的。当多个选择器具有相同的特定性时,后面声明的样式会覆盖前面的样式。

解决方案

方法一:去掉scope

为了避免影响我的其他代码,所以还是要使用scoped,我们可以单独再写一个style

<style lang="less" scoped>
   //原本其他的css样式
</style>
<style>
   .placeholder_class{
      font-size: 26rpx;
    } 
</style>
方法二:使用deep选择器

deep选择器用于穿透组件的作用域,将样式应用于子组件的元素。它的作用是使得样式选择器的范围扩大到子组件内部,以便修改子组件的样式。

<style lang="less" scoped>
    /deep/ .placeholder_class{
      font-size: 26rpx;
    } 
</style>

记录一下。。 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值