我可以在css中设置初始文本输入大小,如下所示:
width: 50px;
Run Code Online (Sandbox Code Playgroud)
但是当我打字直到达到例如200px时,我希望它能够增长.这可以用直接的css,html完成,最好不用javascript吗?
当然也要发布你的js/jquery解决方案,但如果没有它们就可以做到 - 这很棒.
我试试这里:
我研究了一段时间,一直没有找到解决CSS还,em而ex单位未在这种情况下是正确的.我想要的只是一个完全适合80x25等宽文本的div框.我是否必须使用Javascript解决方案?
IE9 + 声称支持chCSS单元。根据定义,此单位是“等于当前字体的“ 0”(零,U + 0030)字形的提前量”,或者换句话说,字形的字符框宽度为“ 0” ”。这种解释似乎适用于Firefox 10+和Chrome 27+:<div style="width: 10ch;"></div>并且<div>0000000000</div>具有完全相同的宽度,因为它们具有相同大小的相同字体。但是在IE9 +中,该ch单位的含义似乎有些不同。
这是演示此问题的小提琴:http : //jsfiddle.net/CNsPg/6/
此单元的IE行为的逻辑是什么?还是只是一个错误?是否有可能使IE ch像其他浏览器一样对待单元(可能带有某些IE特定的文本呈现“魔术”)?
我一直在玩单字形(因为每个字符都与下一个字符一样宽)以匹配输入字段的长度.我的问题是如何5rem is equal to 10 characters?进入chrome和firefox的输入字段?你希望10个字符有宽度10rem:
input[type="text"] {
border: 0;
outline: 0;
background: transparent;
border-bottom: 2px solid black;
font-family: 'monospace';
overflow: hidden;
width: 5rem;
}Run Code Online (Sandbox Code Playgroud)
<body id="body">
<form onSubmit="return false">
<input type="text" placeholder="your name" maxlength="10" required />
<input type="submit" />
</form>
</body>Run Code Online (Sandbox Code Playgroud)