根据ui设计稿,

本来思路是一个input搞定,下面的线使用背景图

background:url('/images/line.png')no-repeat bottom center;

然后使用letter-spacing,让字体间隔开。

但是遇到了小程序的坑,letter-sapcing在input中没效果。

于是我gitlab上找到一个,模拟光标输入框的源码,并借鉴了作者的思路。(链接如下:https://github.com/evan2020/six-Input-box)

于是我的新思路是这样的:

仍然使用一个input,并设置auto-focus,这样当进入页面的时候,手机端会自动弹出数字键盘。

然后模拟光标的css如下:

.cursor {
width: 1px;
height:80rpx;
background-color: #2AC3A4;
animation: focus 0.7s infinite;
} /* 光标动画 */ @keyframes focus {
from {
opacity:;
} to {
opacity:;
}
}

1)input设置margin-left:-100%,不显示在页面可视区域中,

2)上面线框位置,使用view标签,仍然使用背景图展示下面的间断线

3)使用bindinput监听input值的变化,并通过numList = [...e.detail.value]将input的值(字符串)转换为数组。并渲染在view中

<view id="searchNum" class="set-number" style="background:url({{line}}) no-repeat bottom center;background-size:100%">
<view class="set-number-content">
<view wx:if="{{!numList.length}}" class="cursor"></view>
<text wx:if="{{numList.length}}">{{numList[0]}}</text>
</view>
<view class="set-number-content">
<view wx:if="{{numList.length===1}}" class="cursor"></view>
<text wx:if="{{numList.length>=2}}">{{numList[1]}}</text>
</view>
<view class="set-number-content">
<view wx:if="{{numList.length===2}}" class="cursor"></view>
<text wx:if="{{numList.length>=3}}">{{numList[2]}}</text>
</view>
<view class="set-number-content">
<view wx:if="{{numList.length===3}}" class="cursor"></view>
<text wx:if="{{numList.length>=4}}">{{numList[3]}}</text>
</view>
</view>

大家有更好的思路的,欢迎来赐教

微信小程序 input使用letter-spacing失效问题的更多相关文章

  1. 微信小程序input组件抖动及textarea组件光标错位解决方案

    问题一: 使用微信小程序input组件时,在移动端唤起focus或blur事件时,因光标占位导致内容出现叠影及抖动现象. 解决方案: 用<textarea>组件代替了<input/& ...

  2. 微信小程序navigator页面跳转失效原因

    在编写小程序时遇到一个问题:使用 <navigator url='/pages/lists/index'>...</navigator>进行跳转没有反应.控制台也没有报错,ap ...

  3. 微信小程序 input 的 type属性 text、number、idcard、digit 区别

    微信小程序的 input 有个属性叫 type,这个 type 有几个可选值: text:不必解释 number:数字键盘(无小数点) idcard:数字键盘(无小数点.有个 X 键) digit:数 ...

  4. 微信小程序 input组件type属性3个值的作用

    input组件是小程序的内容输入框组件,通常是这样来使用的: <input type="text" placeholder="输入点内容吧" /> ...

  5. 【组件】微信小程序input搜索框的实现

    开发小程序的过程,是一个学习知识,解决问题的过程,每当实现了一个需求,总会有很大的成就感,每天记录一个开发过程中的细节.实现效果如下: 官方参考链接:https://developers.weixin ...

  6. 第十一篇、微信小程序-input组件

    主要属性: 效果图: ml: <!--style的优先级比class高会覆盖和class相同属性--> <!--头像--> <view style="displ ...

  7. 微信小程序 input 组件

    输入框:该组件是原生组件,使用的时候要注意相关的设置 属性: value:类型 字符串 输入框的初始内容 type:类型 字符串 input类型 属性值:text 文本输入键盘 number 数字输入 ...

  8. 微信小程序input框去除空格

    //去除空格 <input type='text' data-name='account' value='{{account}}' name="account" bindin ...

  9. 微信小程序开发豆瓣电影接口失效

    豆瓣旧API接口停用,使用以下接口代替 .获取正在热映的电影:https://douban.uieee.com/v2/movie/in_theaters访问参数:start : 数据的开始项 coun ...

随机推荐

  1. 【Oracle】利用trace文件重建控制文件

    重建步骤: 1.生成trace文件: alter database backup controlfile to trace; 2.找到生成的trace文件: show parameter dump u ...

  2. YoC云上芯片家族迎来新成员

    Espressif 乐鑫信息科技(以下简称乐鑫科技)近日在上海召开发布会,发布其旗下最新的旗舰同时也是第二代Yun on Chip(简称YoC)云上芯片ESP32.YoC云上芯片是由YunOS牵头,联 ...

  3. MVC 接收文件

    [HttpPost] public ActionResult Layedit() { var files = Request.Files; //获得所上传的所有文件 ) { HttpPostedFil ...

  4. Kafka学习笔记(4)----Kafka的Leader Election

    1. Zookeeper的基本操作 zookeeper中的节点可以持久化/有序的两个维度分为四种类型: PERSIST:持久化无序(保存在磁盘中) PERSIST_SEQUENTIAL:持久化有序递增 ...

  5. 企业级任务调度框架Quartz(3) 一个简单的Quartz 例子

    1. 一个简单的Quartz 工程     本示例应用比起众所周知的 System.out.println("Hello world from Quartz") 来还是要有趣些.当 ...

  6. MySQL数据库各个版本的区别

    MySQL数据库各个版本的区别 MySQL数据库 MySQL是一种开放源代码的关系型数据库管理系统(RDBMS),MySQL数据库系统使用最常用的数据库管理语言--结构化查询语言(SQL)进行数据库管 ...

  7. java中后端拼接字符串返回前台页面换行显示

    后端拼接时用:"\n"分割,比如: String str = "白日依山尽,\n" + "黄河入海流:"; 返回前台页面时,放入 <p ...

  8. php-fpm优化处理

    php-fpm.conf有两个至关重要的参数:一个是”max_children”,另一个是”request_terminate_timeout”. 我的两个设置的值一个是”40″,一个是”900″,但 ...

  9. python3发送邮件

    import smtplib from email.mime.text import MIMEText from email.utils import formataddr import psutil ...

  10. 完全二叉树(Complete Binary Tree)

    Date:2019-03-25 19:36:45 判断一棵树是否为完全二叉树 #include <queue> using namespace std; void IsComplete(n ...