如何为 CSS 中数字类型的输入字段创建自定义的、视觉上吸引人的增量和减量按钮?
使用 CSS 自定义数字类型输入的增量箭头
问题
数字类型的输入字段显示样式不佳的增量箭头。我们的目标是将其转变为更美观的设计,类似于单独的按钮。
建议的解决方案
虽然仅靠 CSS 技术无法完全实现所需的结果,但存在一种巧妙的解决方法。操作方法如下:
-
隐藏本机输入箭头:
使用 CSS,在 ::-webkit-outer 上设置外观:无输入字段内的 -spin-button 和 ::-webkit-inner-spin-button 伪元素。这将隐藏默认箭头。
-
创建自定义按钮:
接下来,用两个单独的按钮包围输入字段,一个用于递减,一个用于一个用于递增。使用 Font Awesome 图标或自定义图像作为按钮的视觉效果。
-
处理值操作:
将事件侦听器添加到自定义按钮。单击按钮时,触发原始输入字段上的 stepUp 或 stepDown 方法以相应地更改其值。
实现示例(使用 jQuery 和 Bootstrap):
<div class="input-group inline-group"> <div class="input-group-prepend"> <button class="btn btn-outline-secondary btn-minus"> <i class="fa fa-minus"></i> </button> </div> <input class="form-control quantity" min="0" name="quantity" value="1" type="number"> <div class="input-group-append"> <button class="btn btn-outline-secondary btn-plus"> <i class="fa fa-plus"></i> </button> </div> </div>
登录后复制
$('.btn-plus, .btn-minus').on('click', function(e) { const isNegative = $(e.target).closest('.btn-minus').is('.btn-minus'); const input = $(e.target).closest('.input-group').find('input'); if (input.is('input')) { input[0][isNegative ? 'stepDown' : 'stepUp']() } })
登录后复制
.inline-group { max-width: 9rem; padding: .5rem; } .inline-group .form-control { text-align: right; } .form-control[type="number"]::-webkit-inner-spin-button, .form-control[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
登录后复制
此设置隐藏了本机箭头,添加了用于递增和的自定义按钮递减,并使用 jQuery 的 stepUp 和 stepDown 方法操作输入字段的值。
以上是如何为 CSS 中数字类型的输入字段创建自定义的、视觉上吸引人的增量和减量按钮?的详细内容。更多信息请关注PHP中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
如何修复KB5055523无法在Windows 11中安装?
2 周前
By DDD
Inzoi:如何申请学校和大学
4 周前
By DDD
如何修复KB5055518无法在Windows 10中安装?
2 周前
By DDD
在哪里可以找到Atomfall中的站点办公室钥匙
4 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...
