根据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. 函数GROUP_CONCAT

    这不得不说是mysql中一个特别好用的函数,之前生写这种确实好麻烦..感谢mysql有了这么好的函数..嘿嘿 举个例子吧. s_student 表 stuinfo表 sql如下: ok,简单粗暴,就这 ...

  2. 绘画软件优动漫PAINT系统要求

    优动漫PAINT对运行环境有什么要求呢?目前,该软件可在Windows系统和Mac系统上使用,详细的操作运行环境如下: 操作系统:win7.win8.win10. 计算机硬件:内存必须在2GB以上,建 ...

  3. 插入排序InsertSort

    插入排序:从第二个数开始  一直和前面的数组比较 获得排序定位 ​ 代码 /** *插入排序 */ public class InsertSort { public static void inser ...

  4. day06-08初识面向对象

    一.面向过程 VS 面向对象 面向过程的程序设计的核心是过程(流水线式思维),过程即解决问题的步骤,面向过程的设计就好比精心设计好一条流水线,考虑周全什么时候处理什么东西.优点是:极大的降低了写程序的 ...

  5. Git 常用命令速查(转载)

    git branch 查看本地所有分支git status 查看当前状态 git commit 提交 git branch -a 查看所有的分支git branch -r 查看远程所有分支git co ...

  6. Vue2实例中的data属性三种写法与作用

    <script src="https://unpkg.com/vue/dist/vue.js"></script> <div id="app ...

  7. iview关于menu结合router问题

    #iview关于menu结合router问题 1. Menu.Item下router问题: 直接在Menu标签上绑定on-select事件,可以获取到name(name为元素绑定name) <M ...

  8. 使用ant design pro搭建项目

    脚手架搭建 git clone --depth=1 https://github.com/ant-design/ant-design-pro.git my-project 然后 cd my-proje ...

  9. Linux安装expect命令

    [Linux安装expect命令]:--expect是在Tcl基础上创建起来的,所以在安装expect前我们应该先安装Tcl.①:tcl安装源码下载:http://www.tcl.tk/softwar ...

  10. PHP 闭包之变量作用域

      在项目中,难免会遇到闭包的形式,那么在闭包中,变量的作用域到底是怎么样的呢.下面有几个简单的例子. e1 function test_1() { $a = 'php'; $func = funct ...