这只是一个随机的想法,但我无法阻止它在我脑海中盘旋。
每当需要在 CSS 和样式指南内容刚刚整理好的新项目中为表单设置样式时,使用小型表单框架的诱惑就非常强烈。 表单元素很挑剔,存在一些跨浏览器问题,有时很难控制它们的样式。
这个想法(我现在才开始写,但还没有真正开始做)就是这个小型表单框架。 也许像 Dave 在 ShopTalk 的一期节目中开玩笑说的一样,叫做“Boilerform”。
我设想它会是这样的
- 它将具有基本的表单样式来组织表单元素,与 Foundation 表单 类似;
- 考虑跨浏览器问题,与 normalize.css 类似;
- 强行控制表单元素的样式,与 WTF,表单? 类似; 以及
- 包含本机浏览器表单验证内容,包括通过本机 JavaScript API 进行 UX 改进,与 Validate.js 类似。
我认为将这些东西整合到一起是有价值的,但这样做需要…
- 轻描淡写,并且尽可能少地对最终样式进行意见,并具有
- 灵活性,也许展示一个 不同表单类型的画廊,并具有不同的样式。
我可能没有时间来领导这样的项目,但我乐意帮助联系那些也看到这里价值并愿意尝试的人。
看起来是个好主意。 我最头疼的是跨浏览器设置占位符文本的样式。
听起来很棒,我想我也希望它存在,很多时候都希望如此。 非常乐意把它当作一个周末项目。
真的很喜欢这个主意。 你可以看看 http://responsivebp.com/css/forms/ 做了什么。 我知道他做了很多工作来规范不同浏览器中的表单元素 https://github.com/ResponsiveBP/Responsive/blob/v4/src/sass/partials/_forms.scss。
我肯定会使用小型表单框架。 真是个好主意。
我愿意与其他人合作,将其作为开源项目来开发:)!
我本身就是一名设计师和前端开发人员。
如果你有兴趣为这个(非常)常见的场景构建一个小型、出色的解决方案,请联系我。
我一直都有类似的想法。 我认为很多人,包括我自己,都很乐意为这样的项目贡献力量。
真是个好主意。 表单控件在不同设备上控制和设置样式非常痛苦。
我认为最大的挑战是
1. 某些元素样式在不同设备上完全不兼容,例如,Apple OS 的默认 select 样式
2. 某些输入类型的标准不存在,例如,邮政编码或出生日期与日期范围。
3. Polyfill 实际上并非总是最佳解决方案,因为许多日期、数字和验证的本机解决方案都具有较差的 UX 和样式控制。
4. 输入属性在不同需求之间差异很大,例如,autocomplete、inputmode、spellcheck——几乎没有人知道如何正确使用它们(包括浏览器;)
我记得 gov.uk 做了一些很好的工作,记录了最佳实践 Web 表单,但更多地关注可用性而不是技术实现。
我不得不承认,每当我想要从头开始编写表单而不是使用像 Foundation 这样的框架时,都是表单样式让我放弃。 所以我很赞成这个想法!
我真嫉妒 WordPress 和 Craft,表单太标准了,以至于它们总是被定制..
我之前开发过一个表单样板,因为我遇到了同样的问题。 当你无需每次开始新项目时都从头开始为表单设置样式时,它可以节省大量时间:https://github.com/electerious/formbase
好主意。 我很乐意贡献,尤其是在可访问性方面。
关于不固执己见的一点…
常见的 UX 最佳实践指出,表单标签应显示在表单字段上方,而不是左对齐或右对齐。
因此,框架应该简单地做到这一点… 将标签堆叠在上方。
我真的很想参与其中。 我认为这对社区来说非常有用。
我们是否应该建立一个项目,以便我们可以规范这个东西需要哪些功能?
绝对的,我最近就在寻找类似的东西,但对现有选项感到失望。 最后,我不得不从头开始编写所有表单样式。
我喜欢这个主意,因为让表单正常运行总是很繁琐。
我对大多数 CSS 样板的问题是,它们要么使用错误的语言(sass、less、css、stylus 等…),要么使用不兼容的命名约定(bem、atomic、++),要么难以与框架集成(react、angular、vue),要么使用自己的网格系统或其他重复我正在使用的内容中的功能的样式。
我认为生成器会很有用——可以接受配置(也许还有模板?)并生成您选择的语言和命名约定的 css。 这将使该项目能够从社区中获得贡献,并防止对“正确做法”的无休止的讨论。 当然,应该为那些只想在项目中包含良好默认值而无需考虑大量内容的人提供预生成的 CSS/JS。
我认为生成器是个好主意,Daniel。 我立刻想到了 Yeoman,但 IMO 设置的进入门槛太高了。
一个友好的界面,允许用户配置输出将是一个很好的工具。
也许是一个 PWA?
更多随机想法
一些很好的观点,Chris,但我担心我们可能试图解决的问题太多了。 就我个人而言,我认为我们应该专注于表单元素本身,让它们被放置的任何上下文来做其他事情。
我不知道,也许我太谨慎了?
所以,这个话题有点冷清了。 我认为我们应该建立一个代码库之类的东西,这样我们就可以详细说明我们希望这个东西做什么?
我乐意建立一些东西,或者我们可以创建一个组织,这样我们就可以拥有几个专业代码库?