Câu trả lời ngắn:
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
input[type="number"] {
-moz-appearance: textfield;
}
<input type="number" />
Câu trả lời dài hơn:
Để thêm vào câu trả lời hiện có ...
Firefox:
Trong các phiên bản hiện tại của Firefox, giá trị mặc định (tác nhân người dùng) của thuộc -moz-appearancetính trên các thành phần này là number-input. Thay đổi điều đó thành giá trị textfieldcó hiệu quả loại bỏ spinner.
input[type="number"] {
-moz-appearance: textfield;
}
Trong một số trường hợp, ban đầu bạn có thể muốn spinner bị ẩn và sau đó xuất hiện trên hover / Focus. (Đây hiện là hành vi mặc định trong Chrome). Nếu vậy, bạn có thể sử dụng như sau:
input[type="number"] {
-moz-appearance: textfield;
}
input[type="number"]:hover,
input[type="number"]:focus {
-moz-appearance: number-input;
}
<input type="number"/>
Trình duyệt Chrome:
Trong các phiên bản hiện tại của Chrome, giá trị mặc định (tác nhân người dùng) của thuộc -webkit-appearancetính trên các thành phần này đã có sẵn textfield. Để xóa spinner, -webkit-appearancegiá trị của thuộc tính cần được thay đổi thành nonetrên các lớp ::-webkit-outer-spin-button/ ::-webkit-inner-spin-buttongiả ( -webkit-appearance: inner-spin-buttontheo mặc định).
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
-webkit-appearance: none;
margin: 0;
}
<input type="number" />
Đáng để chỉ ra rằng margin: 0được sử dụng để xóa lề trong các phiên bản Chrome cũ hơn .
Hiện tại, khi viết bài này, đây là kiểu dáng tác nhân người dùng mặc định trên lớp giả 'nút quay trong':
input::-webkit-inner-spin-button {
-webkit-appearance: inner-spin-button;
display: inline-block;
cursor: default;
flex: 0 0 auto;
align-self: stretch;
-webkit-user-select: none;
opacity: 0;
pointer-events: none;
-webkit-user-modify: read-only;
}
<input type="number" min="4" max="8" />Chrome và thấy một trường nhập liệu thông thường có mũi tên lên xuống ở bên cạnh.