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

如何为计算器input的文本值设置自定义下划线(仅用CSS)

我来帮你搞定这个计算器input文本下划线的问题!针对你遇到的text-decoration下划线太粗太近、border-bottom会铺满整个input宽度的问题,这里有两个纯CSS的解决方案,完全不用JavaScript:

方案1:调整原生下划线属性(最简单)

现代浏览器都支持text-decoration-thickness和text-underline-offset这两个属性,直接用它们就能调整原生下划线的粗细和与文本的距离,而且下划线只会跟着文本走,不会铺满整个input宽度:

.calc__total-cost {
  font-size: 56px;
  font-weight: 700;
  width: 200px;
  height: 60px;
  background: transparent;
  color: #efae02;
  text-align: right;
  /* 自定义下划线样式 */
  text-decoration: underline #efae02;
  text-decoration-thickness: 2px; /* 这里改粗细,按需调整 */
  text-underline-offset: 6px; /* 这里改和文本的距离,自己调舒服的数值 */
}

这个方案不用改任何HTML结构,直接改CSS就行,兼容性也够好,Chrome、Firefox、Safari 15.4+、Edge这些主流浏览器都支持。

方案2:用背景渐变模拟下划线(更灵活)

如果你需要更精细的控制,比如下划线的长度比例、甚至是渐变效果,就用线性渐变来模拟:

.calc__total-cost {
  font-size: 56px;
  font-weight: 700;
  width: 200px;
  height: 60px;
  background: transparent;
  color: #efae02;
  text-align: right;
  /* 用渐变画下划线 */
  background-image: linear-gradient(to right, #efae02 0%, #efae02 100%);
  background-position: bottom right; /* 和文本右对齐保持一致 */
  background-size: 70% 2px; /* 第一个值是下划线宽度(对应你说的文本占input的70%),第二个是粗细 */
  background-repeat: no-repeat;
  padding-bottom: 4px; /* 可选,微调文本和下划线的距离 */
}

你可以根据实际显示的文本长度,微调background-size里的百分比数值,确保下划线刚好覆盖文本。这个方案兼容性更广,只要支持CSS渐变的浏览器都能用。

两种方案都能满足你的需求:下划线只覆盖文本、粗细和距离可自定义,完全不用JS~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:49:28