在uniapp开发小程序时,如果你发现textarea
组件的placeholder
文本样式无法修改,可能是因为小程序的限制或者是uniapp的bug。
解决办法:
- 使用
view
组件模拟textarea
,并自定义placeholder样式。 - 使用第三方组件库,比如uView UI、Vant Weapp等,这些库通常提供了更丰富的自定义样式选项。
- 如果是因为字号不生效,确保你使用的单位是rpx或者px,并且没有被其他样式覆盖。
示例代码:
<view class="custom-textarea">
<textarea placeholder="请输入内容" />
<view class="placeholder">提示文本</view>
</view>
.custom-textarea {
position: relative;
}
.custom-textarea textarea {
border: 1px solid #ccc;
padding: 10px;
width: 100%;
box-sizing: border-box;
font-size: 16px; /* 设置字号 */
}
.custom-textarea .placeholder {
position: absolute;
top: 10px;
left: 10px;
color: #ccc;
font-size: 16px; /* 设置字号 */
pointer-events: none; /* 防止点击事件穿透 */
}
.custom-textarea textarea:focus + .placeholder {
opacity: 0;
}
在这个例子中,我们创建了一个自定义的textarea
,通过绝对定位模拟了placeholder的效果,并且通过:focus
伪类选择器来控制placeholder的显示和隐藏。这样做的好处是可以完全自定义placeholder的样式,包括字体大小。