【问题标题】:Format the display of a field格式化字段的显示
【发布时间】:2018-02-19 11:18:43
【问题描述】:

I'm aware 用纯 CSS 解析数字是不可能的。但就我而言,我确定输入将始终以特定方式进行,是否可以根据其中的字符数更改输入字段的显示?

例如我希望 '123450' 显示为 '1,234.50' - 或者如果它是 'abcdef' 它应该变成 'a,bcd.ef'。

所以,我想要一条规则:从右到左:第二个字符后显示一个点,第五个和八个字符后显示一个逗号。

这可能吗?

例子:

<input type="text" class="unformatted" value="123456" />

应该显示为

<input type="text" class="formatted" vaulue="1,234.56" />

同时仍保留其原始值 123456。

【问题讨论】:

  • 输入应该是可编辑的并且它是否应该仍然保留未格式化的值?
  • @fcalderan 如果可能的话,是的。如果没有,那么我必须解析接收端的输入,这会使事情变得复杂。
  • nosir.github.io/cleave.js 看看“数字格式”部分
  • @fcalderan 我正在寻找 CSS 解决方案,在 JS 中执行此操作已记录在链接的问题中。
  • 在 CSS 中这是不可能的。

标签: html css number-formatting


【解决方案1】:

纯 CSS 无法实现您的要求。使用 CSS 可以做到的最小的就是单个 HTML 标记,你不能更深入
不能选择或更改单行文本,因为它们被 CSS 引擎视为一个整体。

不过,在 JavaScript 的帮助下,这很容易做到。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-07-29
    • 1970-01-01
    • 2011-08-26
    • 2018-05-14
    • 1970-01-01
    • 1970-01-01
    • 2020-10-05
    相关资源
    最近更新 更多