时间:2021-01-14 11:14:50 | 栏目:JavaScript代码 | 点击:次
今天项目经理刚交给一个活儿,要我实现这样一个功能:要实现的是验证码文本框变窄一点,然后右边加入一副验证码图片,并且在响应式布局的情况下在移动端访问的时候验证码图片能保持和验证码文本框在同一行,这个怎么做?难为了半天,后来找到了实现思路,下面小编把我的想法及实现过程分享给大家,有问题欢迎提出,共同学习进步!
实现思路:
实现效果图
自己往里面加入bootstrap的栅格布局代码,控制在不同分辨率下面的排布情况。
这样实现唯一的前提条件就是你的验证码图片高度需要和input框的高度一样(input框的高度大概是34px)。
之后就简单了,让验证码图片重叠在input框上面,使用绝对布局就可以完成。
PS:记住要给input框加上一个padding-left值(略微大于你的验证码宽度即可),不然会挡住文字。
<style> #captcha { border-radius: 2px; cursor: pointer; position: absolute; z-index: 3; left: 0; top: 0; } #validateCode { padding-left: 110px; } </style> <div class="form-group col-md-6"> <label for="validateCode">验证码 <small> 点击图片刷新验证码</small> </label> <div class="input-group"> <img id="captcha" src='data:image/png;base64,{{Captcha::doimg()['imgCode']}}'> <input type="text" class="form-control" id="validateCode" name="validateCode" placeholder="四位字符验证码"> </div> </div>
给题主看看我的解决办法,这是我在写的一个网站,图片的大小是契合Input框的高度的,无需更改input宽度,让验证码图片遮住input框即可,然后给input加一个padding-left值,大小略大于验证码图片宽度即可,手机答题不方便,回去再细说。