【问题标题】:Underlining just letters inside input text仅在输入文本中加下划线
【发布时间】:2019-07-26 11:39:44
【问题描述】:

我试图使输入如下所示

问题是我无法让那些下划线出现,我不确定是否有任何优雅的解决方案(或者不是太糟糕)来存档它。我已经考虑过设置绝对位置并使其适合,但我不确定这是否是最佳解决方案。

我知道这个问题看起来不那么详细,但我没有更多信息可以提供。

谢谢!

【问题讨论】:

标签: javascript html css


【解决方案1】:

您可以考虑背景,但该值将与字体属性密切相关。我考虑了一种等宽字体,它在逻辑上会给我们预期的结果,因为所有字符都将具有相同的大小:

input {
   padding:10px 5px;
   border:1px solid;
   font-family:monospace;
   width: calc(8*(1ch + 5px));
   font-size:20px;
   letter-spacing:5px;
   background:
    repeating-linear-gradient(to right,blue 0 1ch,transparent 1ch calc(1ch + 5px))
    bottom/100% 2px content-box no-repeat;
}
<input type="text" maxlength="8">

【讨论】:

  • 对如何在 IExplorer 中执行此操作有任何想法吗? ://
  • @NoOne IE 不支持 calc()。您需要明确设置该值,以便使用另一个浏览器检查计算结果,然后将其替换为该值
猜你喜欢
  • 2018-06-24
  • 1970-01-01
  • 2014-07-29
  • 2020-08-26
  • 1970-01-01
  • 2012-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多