javascript – 当输入字段内的垂直对齐中心时,字符和数字的行为不同
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 当输入字段内的垂直对齐中心时,字符和数字的行为不同,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2720字,纯文字阅读大概需要4分钟。
内容图文
![javascript – 当输入字段内的垂直对齐中心时,字符和数字的行为不同](/upload/InfoBanner/zyjiaocheng/773/763674b6901547e686802c55b989ea33.jpg)
嗨我在我的项目中使用一些输入字段来重置密码功能.我希望我的输入值在输入字段中垂直对齐.
>当我在输入内正确对齐数值时,字符值未正确对齐.像这样 .
在这种情况下我输入的CSS
width: 50px;
height: 48px;
border: 1px solid #58595b;
border-radius: 100%;
font-size: 40px;
padding-bottom: 2px;
text-align: center;
>当我在输入中正确对齐字符值时,数值未正确对齐.像这样 .
在这种情况下我输入的CSS
width: 50px;
height: 43px;
border: 1px solid #58595b;
border-radius: 100%;
font-size: 40px;
padding-bottom: 7px;
text-align: center;
我想在这些情况下改变高度和填充底部.
我的问题
如何在数字和字符值的同时垂直对齐居中.我在这种情况下被困了一段时间.请帮忙 .提前致谢 .
**我已经在Safari和Chrome中进行了测试.
这是jsFiddle链接 – > https://jsfiddle.net/qzrf4dnb/2/
解决方法:
你可以为小写字母添加另一个类,其中包含不同数量的行高,如下所示:
.circle-div {
width: 50px;
height: 50px;
line-height: 50px;
border-radius: 50%;
display: inline-block;
text-align: center;
font-size: 30px;
color: white;
background-color: skyblue;
float: left;
margin: 5px;
}
.lower-case {
line-height: 45px;
}
<div class="circle-div lower-case">c</div>
<div class="circle-div">9</div>
<div class="circle-div">A</div>
更新1:
考虑到输入字段的情况,上面的方法不起作用,因为它不受行高的值的影响,但是按照对这种特殊情况使用另一个类的相同方式,我们可以微调这些值填充和高度,如下所示:
.circle-input {
width: 50px;
height: 50px;
padding: 0;
border: 2px #888 solid;
border-radius: 50%;
display: inline-block;
text-align: center;
font-size: 30px;
float: left;
margin: 5px;
}
.lower-case {
height: 45px;
padding-bottom: 5px;
}
<input type="text" class="circle-input lower-case" maxlength="1" value="c">
<input type="text" class="circle-input" maxlength="1" value="9">
<input type="text" class="circle-input" maxlength="1" value="A">
更新2:
大多数情况下,你想要使这个动态,你需要在第一次加载或输入或更改事件时使用javascript检查每个输入值,这可以这样实现:
var circleInputs = $('.circle-input');
circleInputs.each(function() {
checkLowerCase($(this), $(this).val());
});
circleInputs.on('change input', function() {
checkLowerCase($(this), $(this).val());
});
function checkLowerCase(item, value) {
if ((/[a-z]/).test(value)) {
item.addClass('lower-case');
} else {
item.removeClass('lower-case');
}
}
.circle-input {
width: 50px;
height: 50px;
padding: 0;
border: 2px #888 solid;
border-radius: 50%;
display: inline-block;
text-align: center;
font-size: 30px;
float: left;
margin: 5px;
}
.lower-case {
height: 45px;
padding-bottom: 5px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<input type="text" class="circle-input" maxlength="1" value="c">
<input type="text" class="circle-input" maxlength="1" value="9">
<input type="text" class="circle-input" maxlength="1" value="A">
内容总结
以上是互联网集市为您收集整理的javascript – 当输入字段内的垂直对齐中心时,字符和数字的行为不同全部内容,希望文章能够帮你解决javascript – 当输入字段内的垂直对齐中心时,字符和数字的行为不同所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。