为什么要使用Stylify CSS?

了解什么是Stylify的CSS功能,以及Stylify试图解决什么问题。了解它如何改善你的日常编码经验,以及它如何简化新的开发人员进入团队的过程。

Stylify可能看起来像内联样式。为什么不使用它们?因为它们不能被有效地优化。

Stylify CSS的特点

Stylify CSS允许你更快地编写CSS,并获得极小的CSS捆绑。它也很容易集成到任何工具中。

编码更快

获得极其优化的CSS输出

  • 为页面/布局/组件分割捆绑。
  • 选择器最小化.color:blue => .a
  • 不需要清除。CSS是按需生成的。
  • 几乎没有重复的property:value
  • 标记不应该被处理的区域
  • 使用钩子来扩展功能

复制&粘贴集成

Stylify CSS试图解决的问题

Stylify CSS主要关注的是实用程序的语法和CSS捆绑的优化。但除此之外,Stylify还解决了很多问题。 其中有些是在编写CSS时出现的,有些是在新员工加入公司时出现的。

选择器的重复属性

无论我们写一个组件还是一个选择器,我们大多会重复附加在该选择器上的属性:值。Stylify通过内部算法来解决这个问题,将选择器、组件和实用工具连接起来。

重复的媒体查询

与上述问题相同的是媒体查询。Stylify将选择器附加到正确的媒体查询上,每个文件只生成一次。

在CSS和HTML文件之间不断切换

在手动编写CSS时,我们经常需要创建一个CSS文件,然后转到HTML,将该类附加到一些元素上,并为其添加CSS。有了Stylify CSS,这就没有必要了。

需要手动删除未使用的类

你可以用清除工具来做,但那只是修复已经产生的错误。Stylify CSS会根据需要生成所有的东西。没有未使用的CSS被生成。不需要清除。

复杂的CSS文件管理

如果CSS是手动编写的(无论是否有CSS预处理器),我们必须为它创建CSS文件或样式标签(例如在Vue模板内)。这使得CSS管理变得困难。我们必须手动创建、删除和重命名文件。在导入文件的情况下,当文件移到其他地方或被重新命名时,我们必须始终修复路径。当CSS文件的数量开始增加时,这简直是越来越困难了。而Stylify CSS却不是这样的。文件可以在.gitignore中。它们是根据每个bundle配置自动生成的。添加样式标签和导入也可以使用钩子自动完成。

错误的CSS拆分

分割和正确导入CSS需要大量的工作,以避免导入未使用的样式。由于CSS工具很小,好的方法是为布局/页面分割,或者根本不分割任何东西,所以导入很简单。

我们必须使用BEM或类似的方法来计算选择器的名称

这一点可以通过类似CSS的工具来消除。没有必要使用BEM或其他命名规则。

为简单的东西创建无用的选择器

实用工具解决了为更大的缩进而创建诸如 “sidebar—larger-margin “这样的选择器的问题。

CSS中不必要的高特异性

这又是通过实用工具来解决的,具体的覆盖可以用CSS变量来解决。因为你可以有条件地、原子地对元素进行样式设计,所以在使用实用工具时,你通常不需要有更高的特异性。

预处理程序中的反直觉嵌套

在SCSS和Stylus这样的预处理器中,我们往往会像下面的例子那样过多地使用嵌套。这使得选择器的发现更加困难,也更难维护。有了实用工具,你就干脆不使用这个了。

.section {
	&__homepage {
		// ...
		&-top-left { /* */ }
	}
	&--big
}

选择器从多个地方被修改

我们经常需要修改,例如一个按钮。为了让它在应用程序的某个地方变大/变小。所以我们做一个类来修改这个按钮(如果正确的话)或者直接覆盖这个按钮选择器(这是错误的)。

覆盖会导致在多个地方复制这样的选择器,这很难维护,有时,我们还需要覆盖已经覆盖的选择器。这是个更大的问题。

在修改器的情况下,问题是,你打算把它们放在一个CSS文件中,在页面上加载,在那里使用,还是放在组件文件中,把所有修改器放在一个地方。第一种方法会增加维护的难度,因为修改器分散在不同的文件中,第二种方法则会导致页面上的修改器无法使用。

Stylify允许你以两种方式定义修改器。在文件中,在使用的地方或在全局配置中。然而,修改器总是只生成在那些使用的包中。未使用的修改器(全局或局部)不会被生成。

新员工的问题更少

当一个新员工加入一个公司时,他不需要学习任何框架。如果他懂得CSS,他可以马上开始使用Stylify CSS。他不需要研究CSS-in-JS库、CSS框架的快捷方式以及如何使用该框架使输出得到优化。

有兴趣吗?来吧,让Stylify CSS试试吧

开始吧