样式语言比CSS强制执行更多的规则? (但不是LESS和SASS)

前端之家收集整理的这篇文章主要介绍了样式语言比CSS强制执行更多的规则? (但不是LESS和SASS)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
CSS样式表有一个随着时间的推移而变大和混乱的习惯。

有很多规则,提示和学校的想法,有助于实现更清洁的CSS。 (例如here)然而,所有这些都需要持续的警觉性,活动和维护者的很多纪律,与现实世界的成功混合。为Nicole Sullivan so nicely puts it:

In fact,in most cases,the things we considered best practices were leading to the bad outcomes we sought to avoid. I realized (unpopular though it might be),that we couldn’t make it work out well by trying harder. Each time we start a new project,we think “this time,I’m going to keep the code clean. This time the project will be a shining example of what can be done with CSS.” And without fail,over time,as more content and features are added to the site,the code becomes a spaghetti tangle of duplication and unpredictability.

有没有努力创建某种语言,有严格的结构规则和无情的编译器,强制执行严格的规则,防止样式表成为意大利面条?编译的最终结果将是CSS。

我不知道这样的语言会是什么样子,考虑到大量的可能性和组合,这是一个可解决的问题。

这个领域有没有研究?什么都试试?

一个非常有趣的相关工具是CSS Lint,但我要求的是甚至比这更远。

Edit: LESS and SASS absolutely go into the right direction,but they are not what I am looking for. They introduce some very nice features and are a godsend for the CSS developer,but what I’m,asking about goes even further and more into defined,enforced structures.

解决方法

你可以很容易地用任何解释语言编写意大利面条代码,所以真正你正在寻找的是一个CSS编译器。这是Google GWT通过从Java代码生成JavaScript的JavaScript。

但是,CSS没有流控制,函数,变量等等,这意味着在CSS周围有更高级的语言没有意义。在它的根,它只是与级联逻辑的名称 – 值对。

如果你想统治你的CSS代码,你还需要统治你的DOM。如果要定义ID为left和right的列,那么您在语义上限制设计者将它们移动到其他位置。另一方面,如果你聪明的事情,你可以做更多。

最后,级联部分是大多数新设计师有最大错误倾向的。如果你密切关注DOM和级联逻辑,使用一些很好的重置或基于网格的框架,并合并如LESS(Ruby)或LessPHP的工具,你会得到更加令人愉快的工作。我喜欢LESS,因为它赋予你准功能,变量和嵌套属性,真正帮助清理你的CSS。

猜你在找的CSS相关文章