You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS和HTML正确为input设置text-overflow ellipsis并修复空输入显省略号问题

问题原因

你将text-overflow、overflow、white-space这些控制省略号的属性写在了外层.wrapper容器上,而非input元素本身,容器不会感知input的内容是否为空,所以会始终渲染省略号效果。

修复方案

推荐直接把省略号控制逻辑加在input元素上,input作为替换元素,自身的text-overflow属性会自动根据内容长度判断是否展示省略号,内容为空时默认不会显示:

.wrapper {
    min-width: 0px;
    max-width: 100%;
    padding: 14px 16px;
    line-height: 21px;
    position: relative;
    max-height: 49px;
}

.input {
    display: inline-block;
    line-height: 1.5;
    padding: 5px 7px 4px;
    min-height: 20px;
    margin: 0px;
    /* 新增省略号相关配置 */
    width: 100%;
    box-sizing: border-box;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

HTML结构不需要做修改。

如果有特殊场景必须把省略号属性加在父容器上,可以用:has伪类做状态判断,仅当input有内容时才启用省略号效果(现代浏览器支持):

/* 父容器默认不加省略号属性 */
.wrapper {
    min-width: 0px;
    max-width: 100%;
    padding: 14px 16px;
    line-height: 21px;
    position: relative;
    max-height: 49px;
}
/* 仅input非空时给父容器加省略号属性 */
.wrapper:has(.input:not(:placeholder-shown)) {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.input {
    display: inline-block;
    line-height: 1.5;
    padding: 5px 7px 4px;
    min-height: 20px;
    margin: 0px;
}

内容的提问来源于stack exchange,提问作者stackuser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 09:57:04