我有一个简单的问题 - 文本输入元素指定了 2 个 CSS 属性,请参阅下面的代码:
<input type="text" style="resize:horizontal; width:200px" />
当仅resize
属性已指定,则input
可以调整为任意宽度。但是,如果我有width
指定,将input
元素的大小只能调整为宽于200px
,不短。
有没有一种方法可以指定默认宽度,同时将输入元素调整为任意宽度?比设定的更宽或更短width
属性?
感谢您提前提供任何帮助!
编辑 - 澄清:我需要输入元素可以自由调整大小 - 任何宽度 - 超过200px
并且小于200px
编辑2 - 如果可能的话,我最好寻找纯CSS解决方案。
这非常接近可行。你需要设置size="1"
作为一个属性<input>
调整大小非常小。调整大小由控制input:active
它重写了基类width: auto;
. input:focus
当您按 Tab 进行键入时,可以防止它缩小。
潜在问题:input:focus
迫使<input>
到特定的min-size
,它可能比调整后的大小更大。你可以min-width: 100%
使之成为一个“功能”而不是一个问题,为用户提供更多的打字空间。如果<input>
有焦点,调整大小仍然受到限制min-width
,但调整大小通常是在焦点后完成的(并且主要用于使物体变大)。
Demo: http://jsfiddle.net/ThinkingStiff/jNnCW/ http://jsfiddle.net/ThinkingStiff/jNnCW/
HTML(根据您的要求使用内联样式):
<input id="text" type="text" size="1"/>
<style>
input {
resize: horizontal;
width: 200px;
}
input:active {
width: auto;
}
input:focus {
min-width: 200px;
}
</style>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)