是否可以截断 input 中的文本type="file"
,我的意思是,当我选择文件时,如果filename
它应该太长truncated
。我试图申请text-overflow: ellipsis;
,但没有任何改变。
问问题
9063 次
4 回答
13
如果您width
为输入指定一个固定值,大多数浏览器应该自己截断它。如果没有,您仍然可以使用text-overflow: ellipsis
,但除非您将它与两个附加属性和宽度一起使用,否则它不会有任何区别:
input[type=file] {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
width: 150px;
}
于 2013-10-30T22:58:22.243 回答
2
您是要实际截断它,还是更改显示?您实际上无法设置该值,因为这是一个安全风险——没有浏览器允许这样做。要更改值的显示,您可以按照 matewka 的建议进行操作。为了更好地控制外观,您还可以隐藏输入并将其替换为<span>
包含相关值的值,如下所示:http: //jsfiddle.net/TexasBrawler/jrJm2/2/
于 2013-10-30T23:01:56.990 回答
1
如何截断输入类型文件的文件名:
如果您的文件输入周围有一个容器,您可以将其设置为display: flex;
,它将用省略号截断。
尝试在下面的示例中弄乱宽度并尝试删除display: flex;
以查看文本溢出容器而没有截断。
.file-input-container {
display: flex;
width: 160px;
padding: 10px;
background-color: #CCC;
}
<div class="file-input-container">
<input type="file" />
</div>
于 2021-02-24T01:38:32.477 回答
0
对于所有主要浏览器,我认为您不能设置文件上传框中的内容,因为这会为您打开大门,让您欺骗或强迫用户上传他们不应该上传的文件(不是您愿意,但其他恶意的人可能)。
你能更详细地解释你试图解决的问题吗?我不清楚为什么你会关心文件名的长度——你真的对文件的内容不感兴趣吗?
于 2013-10-30T23:09:37.907 回答