我想出了兩種不同的解決方案。
第一個解決方案使用jQuery動態調整輸入大小以匹配隱藏的<span>
元素的輸入大小。這樣,你就不必猜測角色或類似的東西的「平均大小」。
$("body").keydown(function(e){
setTimeout(function(){
if(e.which == 32){
$("#clone").append(" ");
}
$("#clone").text($('input').val());
$('input').width($("#clone").width() + 40);
}, 100);
});
參見:https://jsfiddle.net/pz0f5bam/
的第二個解決方案更加公正CSS。我首先將輸入寬度設置爲100%,這樣您就不必擔心它的寬度太小。然後,如果您將text-decoration: underline;
添加到輸入,它看起來像在增長。
我還向佔位符添加了樣式,使其看起來像具有最小尺寸。
input{
width: 100%;
font-size: 40px;
text-decoration: underline;
background-color: transparent;
outline: none;
border: none;
}
::-webkit-input-placeholder {
text-decoration: underline;
color: black;
}
參見:https://jsfiddle.net/vrodL180/
問題是placholder在Chrome中不加下劃線?原因是文字。 – skobaljic