我有一个文本输入,我想要保持300px的固定宽度.允许文本输入的值超出该值的范围.当文本超出输入的范围时,我希望用省略号截断文本,但当聚焦时,输入应该是水平可滚动的.
这一行为全部由text-overflow: ellipsis;
人提供.问题是,当没有聚焦时,输入仍然可以水平滚动,但由于文本被截断,它只会滚动到空白区域.我如何才能阻止这种情况的发生?
测试以下代码时,我在Chrome(108.0)中遇到了这个问题,但Firefox或Safari没有.这只是Chrome无法避免的一个特征吗?
<form>
<input
type="text"
style="width: 300px; text-overflow: ellipsis"
value="asdfasdflkajsdlfjalsdfkaslkdfjalskdjflkasjdflkjaldsfkjalsdfjasdfasfasdf"
/>
</form>
这是当你向右滚动时看起来的样子:Image of unwanted behaviour.
我try 在输入中添加overflow: hidden;
和white-space: nowrap;
,以及周围表单上的这些属性、表单上方的div,甚至表单内输入周围的div.所有这些都会导致相同的行为或上述规范之外的其他行为.
有这个相关的问题,但没有令人满意的答案,我已经能够缩小到一个Chrome问题……Input element scrollable with text-overflow ellipsis enabled个