HTML input type="number" 隐藏默认的步进箭头

HTML input type="number" 隐藏默认的步进箭头

number 类型的 <input> 元素用于让用户输入一个数字,其包括内置验证以拒绝非数字输入。

浏览器可能会选择提供步进箭头,让用户可以使用鼠标增加和减少输入的值,或者只需用指尖敲击即可。但有些场景需要隐藏默认的步进箭头。

要隐藏 HTML input 元素的默认步进箭头,可以使用 CSS 的 appearance 属性。该属性用于定义元素的外观,包括默认的浏览器外观,可以将其设置为 none,以隐藏默认的步进箭头。

以下是一个示例 CSS 代码,用于隐藏输入类型为数字的 input 元素的默认步进箭头:

input[type="number"] {
  -moz-appearance: textfield; /* Firefox */
  appearance: textfield;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none; /* Safari */
  margin: 0;
}

这段代码中,-moz-appearance: textfield 用于恢复 Firefox 浏览器中的默认样式,以便在隐藏默认步进箭头的同时保留输入框的样式,而 -webkit-appearance: none 则用于隐藏 Safari 浏览器中的默认步进箭头。同时,为了确保在不同浏览器中都能正确隐藏默认步进箭头,还需要设置 margin: 0

在实际使用中,可以将这段 CSS 代码添加到样式表中,或者将其添加到页面的 <style> 标签中。如果只想针对某些特定的 input 元素隐藏默认步进箭头,可以使用更具体的 CSS 选择器,例如 input[name=age],其中 name 属性的值为输入框的名称。