微信小程序在设置input背景的时候会出现2个背景

本文介绍如何在微信小程序中自定义搜索框的样式,并通过示例代码展示了如何使用CSS伪元素`:after`来实现图标显示及输入框的布局调整。
/**index.wxss**/

.search input{
  padding-left:100rpx;
  border:1px solid #ccc;
  font-size:24rpx;
  text-indent: 100rpx;
}
  
.search input::after{content:"";position:absolute;left:50rpx;top:10rpx;width: 30rpx;height: 30rpx;background:#F3F3FB url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAB30lEQVRYR8WX7TEFQRBFjwgQASJABkSACBABMhACESACRIAIEAEykAF11EzV1No307vva6ren7ez06dv3+7dXWHJa2XJ8YkArAEHwCGwCewk6DfgE3gAHoHvMcnUAAx8BpwDX8BzClbGEWoP2ACugOuhIJMADP4ErCcAs6wtIQT4AY6SMiFB+gAM/gG8ACcDMvI+ISzXbhSiC5AzV3LlHbNugW1gPwLfBbhMWWu0UaYCTCL7xfOqqwTI0ltDD5hm6Qk9tNUqRQmg2615brNpALzXNrUc+mLiKgF0ujc1ZQuSmdBxMmQIwKGiAtPKn4PlMlSHXXnRHta5swKwlK9Qn7bzBHBsO0/CCth29v6sFBhcgty7VdcGDeg2/aQRq13VbcOmawcAhLqqBMg1m4UR81mDBpHJKX+e4wOS/bfVcua2Do9iNzqOHUaO0dORBCZh/VWh+TzpaxFNYwb3IyAM7kuMgS2lyQxSIG8WQhPZxxeBg8z2phi7q1GI1iuZGdkZwvizru+JUq8Y2Nnh7y61nf+pYAgi8lLqgfazg8Wg5RLGYIIKVyoYgogAtMo46Xr2UlWJeQII1oSYN0ATYhEAVYhFAXQh/IDR2KFPs7Em7LtPT+Sn5N/1RSrQm8jSAX4B19RuIbHquMgAAAAASUVORK5CYII=) no-repeat;background-size: 100%}

微信小程序自带的组件有很多加了:after的演示,上面代码那样就解决了


wxml代码:

<!--搜索框-->
<view class="section search">
  <navigator url="/pages/search/index" hover-class="navigator-hover">
    <input placeholder="搜索想要的商品" class='demo' />
  </navigator>
</view>

效果图:

### 微信小程序 Input 组件横向布局示例 在微信小程序开发中,可以通过 `view` 基础组件以及 CSS 样式来实现多个输入框(`input`)的横向排列布局。以下是具体的实现方法: #### WXML 示例代码 ```html <view class="input-container"> <input type="text" placeholder="请输入内容1" /> <input type="text" placeholder="请输入内容2" /> <input type="text" placeholder="请输入内容3" /> </view> ``` #### WXSS 样式代码 ```css .input-container { display: flex; /* 使用 Flexbox 布局 */ justify-content: space-between; /* 子元素之间均匀分布 */ } .input-container input { flex: 1; /* 让每个 input 占据相同比例的空间 */ margin: 0 5rpx; /* 设置间距以区分各个 input */ padding: 10rpx; /* 添加内部填充 */ border: 1rpx solid #ccc; /* 边框样式 */ border-radius: 5rpx; /* 圆角效果 */ font-size: 28rpx; /* 字体大小 */ } ``` 通过上述代码可以实现三个 `input` 输入框在同一行显示的效果,并且它们之间的宽度会自动调整为一致。 --- #### 关键点解析 1. **Flexbox 布局** 使用 `display: flex` 可以轻松实现子元素的水平排列[^1]。配合 `justify-content: space-between` 或其他属性,可以让子元素按照需求分布在容器内。 2. **Input 的样式设置** 对于每个 `input` 元素,设置了 `flex: 1` 来让其占据相同的比例空间;同时添加了边距 (`margin`) 和填充 (`padding`) 提升用户体验[^2]。 3. **响应式设计** 如果希望适配不同屏幕尺寸,建议使用相对单位如 `rpx` 而不是固定像素值 (px)[^3]。 --- #### 注意事项 如果需要进一步增强交互体验,比如点击某个区域时改变背景颜色或者高亮状态,则可引入 `hover-class` 属性[^5]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值