Как определить внутреннюю ширину ввода числового типа после его визуализации?

#html #css

#HTML #css

Вопрос:

У меня есть ввод номера html с выравниванием текста по центру. Я хочу расположить текст по центру сверху и снизу, чтобы он совпадал с текстом в поле ввода; однако некоторые браузеры добавляют стрелки вверх и вниз, которые смещают центр текста в поле ввода. Есть ли способ для меня вычислить, на сколько смещен центр во время выполнения?

Комментарии:

1. Вы пробовали это раньше?

2. @IanMustafa Я не смог найти ни одного свойства, содержащего информацию, которую я ищу, поэтому я не могу попробовать. Мне было интересно, существует ли такое свойство или другой способ решения проблемы.

Ответ №1:

<input type="number"> Ожидается, что элемент будет отображаться по-разному в разных браузерах и с разными настройками. Ожидается, что он предоставит некоторый пользовательский интерфейс для ввода числа, и только числа, с ограничениями, указанными другими атрибутами элементов. Таким образом, вы не можете знать, как это выглядит, или управлять этим, если браузер не предоставляет API для этого.

Поэтому, если вы хотите выровнять число, введенное пользователем, с некоторыми другими элементами, используйте <input type="text"> вместо этого и выполняйте проверки формата данных с помощью pattern атрибута и / или JavaScript (в дополнение к проверкам на стороне сервера, конечно).

Комментарии:

1. Какой позор, потому что я хотел использовать все возможности <input type="number"> .