使用 Tailwind CSS 设计表单时,您可能希望从数字输入字段中删除默认箭头(也称为旋转器)。这些箭头可能会干扰自定义设计,并且很难在不同浏览器中保持一致的样式。
在本教程中,我们将探索如何使用 Tailwind CSS 实现这一目标,包括内联样式和全局 CSS 方法。
默认情况下,浏览器向 元素添加递增和递减箭头。虽然功能齐全,但这些箭头经常与自定义设计发生冲突,并且很难在各种浏览器中统一样式。
我们将使用 Tailwind CSS 实用程序类来删除这些箭头并创建干净的、自定义的数字输入。我们还将研究如何在全球较大的项目中应用此样式。
让我们从一个使用内联 Tailwind 类的示例开始:
去除箭头的关键类有:
对于较大的项目,您可能希望将此样式应用于所有数字输入。您可以通过向全局 CSS 文件添加样式来做到这一点:
根据您的框架和设置打开您的 global.css 文件(或等效文件,如 app.css 或 styles.css)。
添加以下 CSS:
/* In your global.css file */ @layer utilities { input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; } input[type="number"] { -moz-appearance: textfield; } }
添加这些全局样式后,您可以简化您的 HTML:
请注意,我们已经从各个输入中删除了箭头删除类,因为它们现在由全局 CSS 处理。
虽然删除默认箭头可以提高设计一致性,但您可能需要添加自定义递增/递减按钮以获得更好的用户体验。以下是如何创建与我们的表单设计相匹配的自定义箭头:
让我们分解一下这个实现的关键组件:
我们将输入包装在相对定位的 div 中,以允许自定义按钮的绝对定位。
输入字段保留其原始样式,包括删除默认箭头的类:
[appearance:textfield] [&::-webkit-outer-spin-button]:appearance-none [&::-webkit-inner-spin-button]:appearance-none
这会将按钮定位在输入的右侧并垂直居中。
- 每个按钮的样式都与输入混合:
- h-full 使按钮填充输入的高度。
- border-l 在按钮之间添加微妙的分隔符。
- text-gray-500和hover:text-sky-500提供悬停时的颜色变化,与我们表单的焦点状态相匹配。
我们使用 SVG 图标作为向上和向下箭头,大小与 w-4 h-4 适当。
onclick事件使用JavaScript的stepUp()和stepDown()方法来改变输入值:
onclick="document.getElementById('quantity').stepUp()" onclick="document.getElementById('quantity').stepDown()"重要考虑因素
您应该考虑以下几点:
删除箭头可能会影响依赖它们的用户。如有必要,请考虑提供替代的递增/递减方法。
此解决方案适用于现代浏览器。较旧的浏览器可能需要额外的 CSS 或 JavaScript。
结论
通过内联或全局实现此功能,您可以有效地从整个项目的数字输入中删除默认箭头。
对于那些希望进一步改进 Tailwind CSS 开发流程的人,请查看 DevDojo Tails 页面构建器,它可以帮助您轻松创建令人惊叹的设计。
编码愉快!
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3