Составляя стрелку вниз входного числа HTML очень больше и чище
Вместо Можно ли всегда показывать стрелки вверх / вниз для ввода "число"?, я хочу иметь возможность сделать стрелку вверх / вниз очень большой и чистой.
Что у меня есть прямо сейчас:
Мне нужно сделать их больше вот так:
3 ответа:
Вы можете обернуть вход в элемент и и оформить его
div { display: inline-block; position: Relative; border: 2px solid grey; border-radius: 10px; overflow: hidden; -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } div:before, div:after { background: white; right: 0px; width: 30px; height: 20%; position: absolute; pointer-events: none; } div:before { content: ''; bottom: 50%; background: url(http://cdn.flaticon.com/png/256/22205.png) no-repeat white; background-size: 20px; background-position: center; } div:after { content: ''; top: 50%; background: url(http://cdn.flaticon.com/png/256/22205.png) no-repeat white; background-size: 20px; transform: rotate(180deg); background-position: center; } input { height: 80PX; font-size: 50px; outline: 0; border: 0; }
<div> <input type="number" value="10" /> </div>
Ну, чтобы достичь этого, вы должны играть с псевдоэлементами и некоторыми
CSS3
трюками.Чтобы создать треугольник https://css-tricks.com/snippets/css/css-triangle/
Для манипулирования входными числовыми блеснами
input[type=number]::-webkit-inner-spin-button { /* your code*/ }
Вот пример.
input { color: #777; width: 2em; font-size: 2em; border-radius: 10px; border: 2px solid #ccc; padding: 5px; padding-left: 10px; } input[type=number]::-webkit-inner-spin-button { -webkit-appearance: none; cursor: pointer; display: block; width: 10px; text-align: center; position: relative; background: transparent; } input[type=number]::-webkit-inner-spin-button::before, input[type=number]::-webkit-inner-spin-button::after { content: ""; position: absolute; right: 0; width: 0; height: 0; border-left: 7px solid transparent; border-right: 7px solid transparent; border-bottom: 10px solid #777; } input[type=number]::-webkit-inner-spin-button::before { top: 7px; } input[type=number]::-webkit-inner-spin-button::after { bottom: 7px; transform: rotate(180deg); }
<input type="number" value="1">
Другим решением, предлагающим единообразие между браузерами и больше вариантов настройки, было бы использованиеэлемента jQuery UI spinner .