Как я могу добавить padding-right к типу ввода = "число" при правильном выравнивании?
Не могу поверить, что я ничего не смог найти об этой проблеме.
В моем новом проекте будущий пользователь будет иметь столбец с некоторым input type="number"
, а как числовые поля (нет ни одного text
), я хочу, чтобы числа выравнивались вправо.
Я нашел числа слишком близко к стрелкам, поэтому логически я добавил к ним padding-right
.
К моему удивлению, кажется, я не могу отделить немного цифр от стрелок. padding-right
перемещает стрелки вдоль чисел.
В основном только Opera
правильный путь padding
. но не другие основные 3 браузера, которые я тестировал, пока вы можете видеть на изображении ниже.
![введите описание изображения здесь]()
Итак. Есть ли способ отделить числа от стрелок, чтобы он работал, по крайней мере, в Firefox
и Chrome
(как мы рекомендуем для нашего веб-приложения эти 2 браузера?)
a JSFIDDLE с простым примером
Ответы
Ответ 1
Вместо использования padding-right
используйте следующий CSS
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button { margin-left: 20px; }
и для Firefox выше решение не будет работать, поэтому лучшим решением является просто скрыть его:
input[type=number] {
-moz-appearance:textfield;
}
или вы можете попробовать "играть" с некоторым плагином jquery.
Ответ 2
Это довольно раздражает, в моем случае я решил ситуацию, пропустив счетчик слева.
<input dir="rtl" type="number"/>
Ответ 3
Попробуйте это
HTML
<div class="form-row">
<input type="number" value="1000" min="0" step="0.01" data-number-to-fixed="2" data-number-stepfactor="100" class="currency" id="c1" />
</div>
JS
webshims.setOptions('forms-ext', {
replaceUI: 'auto',
types: 'number'
});
webshims.polyfill('forms forms-ext');
Демо здесь
Ответ 4
Выровнять по левому краю поле в CSS
[type="number"] {
text-align: right;
direction: rtl;
}
<input type="number" min="0" max="9999" placeholder="Enter value ...">