修改input文本框尺寸后无法从起始位置输入的问题咨询
解决单行文本框改高度后无法从起始位置输入的问题
嘿,我来帮你搞定这个小问题~你遇到的情况其实挺典型的:你给单行的<input type="text">设置了height:300px,但这类文本框本来是为单行输入设计的,浏览器默认会让光标垂直居中显示,所以看起来没法从输入框的左上角(起始位置)开始输入。
下面给你两种解决方案,按需选择:
方案1:改用多行输入框(首推)
如果你的需求就是一个大尺寸的输入区域,直接用<textarea>才是正确的姿势——它天生支持多行输入,设置宽高后光标会自动从左上角开始,完全不会有错位问题:
<textarea style="width:600px; height:300px;" placeholder="Introdu textul tau:"></textarea>
方案2:修复单行input的光标位置
要是你非得用<input type="text">不可,那可以通过调整样式让光标回到顶部。给你的input加上vertical-align: top;来改变垂直对齐方式,再加上box-sizing: border-box;确保宽高计算不会出错:
<input type="text" style="width:600px; height:300px; vertical-align: top; box-sizing: border-box;" value="" placeholder="Introdu textul tau:">
不过还是建议优先用第一种方案,毕竟<textarea>就是为这类场景设计的,用户输入体验也会更顺畅~
内容的提问来源于stack exchange,提问作者Alex




