表单验证第三部分: 一个Validity State API Polyfill
在这个系列的上一篇文章中, 我们创建了一个轻量级的脚本 (6kb, 2.7kb缩小后) 使用这个 Validity State API 来提高原生的表单验证体验。 这个脚本可以在所有的现代浏览器上运行,并且支持 IE10版本以下的浏览器。但是,浏览器本身仍然具有一些缺陷。

在这个系列的上一篇文章中, 我们创建了一个轻量级的脚本 (6kb, 2.7kb缩小后) 使用这个 Validity State API 来提高原生的表单验证体验。 这个脚本可以在所有的现代浏览器上运行,并且支持 IE10版本以下的浏览器。但是,浏览器本身仍然具有一些缺陷。
在这个系列的上几篇文章中, 我们已经学会了如何使用输入类型和验证属性本地进行表单验证。我们也学会了如何使用约束验证 API 来提高浏览器原生的验证能力以提供更好的用户体验。 并且我们写了一个 polyfill 将支持一直延伸到IE9(并在一些较新版本中添加了几个功能)。现在, 让我们把学到的知识运用到一个真实的例子中:MailChimp注册表单。
每年都有新的CSS属性被标准化,并在主流浏览器中可用。 它们旨在使Web开发人员的工作变得轻松,创造出新颖美丽的网站。在这篇文章中,我将介绍5个相对较新的CSS属性,你可能从来没有听说过,我觉得很有趣。 本文的目的是带领你总览这些CSS的属性,告诉你可以使用哪些值,它们的使用场景,还有一些例子。
或许你听说过 Quantum 项目。 它是对于 Firefox 内部的一个重大改写,以达到让 Firefox 更快运行的目的。我们将实验性的浏览器 Servo 的一部分功能调换出来,并对引擎的其他部分做除了重大的改进。这个项目好比一架正在飞行的飞机的引擎。我们对适当的地方进行改进,一个一个组件地改进, 当着这些组件准备好的时候,你就能够看到它对 Firefox 的影响。
前两天去帝都参加第三届FEDay前端开发者大会,见了很多老朋友,也认识了很多新朋友。最主要的是听了很多大神的分享,涨了不少的姿势。想写这篇文章的出发点是PostCSS作者@Andrey Sitnik分享完之后有些同学提问,让我有感而发。希望这篇文章对一些同学有所帮助。
表单大家应该不陌生,当然了,今天并不是来聊怎么做表单或者处理表单的样式网格。而是来聊聊怎么改变表单控件中光标的颜色。不知道在大家心中,表单控件的光标颜色是根据color
属性来控制的。那么如果需要用CSS来改变表单控件,比如说input
或者textarea
元素的光标颜色,应该怎么处理呢?
本文介绍了用于大型Web应用程序(通常是SPA)的CSS最新趋势。我不想质疑这是对的还是错的,而是把它们列出来。以供大家参考和讨论。最初,Web页面被设计成具有超链接的信息页面(即使图像也不应该是内联的——它被解释为,在1990年,带宽和计算机资源非常小),类似交互式图书的东西。CSS的设计是为了添加一些基本的样式,最初它看起来像是一个好主意,用你自己的风格覆盖外部风格。现在,它绝对是一个疯狂的想法 —— 尝试应用自己的样式,比如说页头。开发人员绝对不会期望这些样式是来自于用户。其中最有趣的一点是,它是由微软推动的,你可以在这里阅读到它。这篇文章涉及面非常广泛,但我将跳过最初的部分,直接进入重要的内容中。
你是否曾经为组件设计过样式,却只知道应用了不需要的CSS规则?也许你会重新考虑CSS的另一个部分,所以规则不适用,或者你会添加!important
规则,只是为了让它发挥作用。这就是CSS Modules要解决的问题。让我们看看CSS Modules的官方定义:CSS Module是一个CSS文件,所有类名和动画名称默认都在本地范围内。这里的关键词是局部范围的。使用CSS Module,你的CSS类名与JavaScript中的本地变量类似。顺便说一下,CSS Module只是一个.css
文件。如果你打算使用CSS Module编译器,你可以把它叫做CSS Module。
在瞬息万变的前端开发世界中,很难找到一个真正有意义的概念,并且将其清晰明了的向广大人民群众普及。把目光投向CSS,一个重大转折就是CSS预处理器的出现(在工具方面来看),其中, Sass应该是最为著名的一个。此外,还有 PostCSS,它和Sass略有不同,但是殊途同归——都是用浏览器不能解析的语法编写,并且最终编译成浏览器能够理解的语法。现在,又有一位新的成员出现了,它就是CSS模块。本文就将介绍CSS模块化的诸多优点,以及如何编写模块化的CSS。
我最近对CSS模块很好奇。如果你还没有听说过它们,这篇文章就是为你而写。我们将了解CSS模块以及它的目的是什么。如果你也感兴趣,请持续跟踪,下一篇文章将关于怎样使用CSS模块。如果你想进一步提高你的CSS模块使用技能,第三部分将关于在React环境中使用它们。