使用css样式化表单元素可能会有问题,因为每个浏览器都以不同的方式呈现标记(就像safari呈现复选框时一样)。
好吧让我们暂时忽略safari,皮肤输入和按钮相当容易,但如何完全皮肤选择,复选框,收音机等。
参见本页:
Checkbox skinning
Select skinning
Radio skinning
我听说过一些JS框架,比如EXTJS或MooTools可以做到这一点,但我不想要大规模的框架解决方案,只需要独立的JS,我们可以随意修改皮肤,请不要使用JQuery解决方案,因为我不使用它。
如果不使用某些特定框架,是否有任何想法?
答案 0 :(得分:6)
如果你想要完全控制,那么你通常必须完全替换浏览器控件并用其他元素,样式表和脚本伪造它们。
如果您不想使用框架,那么它基本上归结为DIY。
尽管如此,整个概念还存在一些问题。
就个人而言,我通常会尝试让表单控件坚持系统默认值,而不是试图偏离它们。为用户提供他们期望的内容。
答案 1 :(得分:3)
今天有很多javascript解决方案允许对表单元素样式进行广泛的自定义。一个快速谷歌提出了一些不错的:
最着名的可能是 Bootstrap CSS框架:
https://getbootstrap.com/docs/4.0/components/forms
https://www.psd2html.com/js-custom-forms(jQuery插件)
复选框/无线:
今天,您可以在Codepen.com
上找到多种表单元素样式是的,这很容易。你可以使用niceforms,这是独立的脚本 漂亮的表格,然后你可以修改图形图像/ CSS是你的愿望。
这个想法是,编写看起来相同的东西 功能但不同的设计,然后你需要“给它 生活“用一些javascript魔法:)
然后,你必须在整个地方都有ilsteners,以便检查 用户点击了什么,而不是需要反映相同的值 对于预先隐藏的形式元素,对应于“假” 一。意思是操纵它。
当你发送表格时, 正确的价值观是通过JS的地方。