Blueprint是比较早的,基于静态css的框架。但是现在有两个主要的动态css语言,LESS和SASS,给css提供了变量,mixin,运算符等功能,让写出模块化的css框架成为可能。
Bootstrap现在基本是欧美这里最流行的框架,基于LESS,最近升级2.0以后完全模块化,也不需要太多配置,很好用。这个框架对大部分元素的视觉细节都已经做得很完整,基本上你只需要写html,加几个class,就可以做出像模像样的页面了,做起prototype来嗷嗷快。不过这也是个缺点,因为用的人多了样式都长一个样... 当然,模块化的框架你要修改起来也是很方便的,基本上修改变量就可以了。
另一个比较流行的是基于SASS的Compass,这个框架包含了Blueprint作为其中的一个模块。需要注意的是这个框架和Ruby on Rails是高度整合的,用起来需要大量的命令行操作,比Bootstrap麻烦,但是在Rails开发人员里面用得比较多。
Tailwindcss 是一个功能类优先的 CSS 框架,通过 flex, pt-4, text-center 和 rotate-90 这种原子类组合快速构建网站,而不需要离开你的 HTML。就是记住原子类,不要再自己想 CSS 命名一股脑子写 HTMl 就行了!
它与常规的 Bootstrap、Bulma 和 Material UI 不同之处在于没有提供预设的组件,比如:按钮、菜单和面包屑等。在 Bootstrap 中创建一个按钮:
得到如下:
而 Tailwindcss 没有固定的预设样式,所以需要自己组合:
结果:
一个方法、一个库、一个框架或者说一个新的东西的出现肯定是为了解决一个问题,不然它的出现可能毫无意思。就算是手工耿做的一些无厘头的东西,实际看着还有点用呢(最近他给僵尸做了一辆自行车):
那 Tailwindcss 解决了什么问题?可以从作者的意图看出:
他认为语义化的 CSS 并不是很好维护。
其实想想自己项目初始的时候自己起的很有语义化的名字,随着业务的变化和不同人员的更改那个起初很有意义的名字已经 名不符实 。
还有我们在使用 Bootstrap 预设类的 UI 框架时遇到设计风格和公司内部不同时,重置样式也会带来头疼的问题。
我们这里使用的是 V3 版本的 CDN(不推荐),若想配合构建工具看看官网如何使用的。V2 的 CDN 是引入一个 CSS 文件,而 V3 引入的是一个 script 。
结果:
https://tailwindcss.com/docs/hover-focus-and-other-states
结果:
看下 hover 是如何实现的:
我们之前给某个样式添加 hover 如何做?
在 Tailwindcss 中不是给现有的 class 添加一个 hover 状态,而是新增一个特定功能的 class :
这样有类似 hover 样式的就可以复用了。
学习 Tailwindcss 的期初负担在于记忆类名,还好都是有规律可循的:
bootstrap框架不仅包含了众多css样式,还包括了jquery的各种插件,有验证,轮播等;
除了它,比较出名的css框架还有:
(1)Semantic UI—完全语义化的前端界面开发框架
(2)Flat UI是一套精美的扁平风格 UI 工具包,基于 Twitter Bootstrap 实现
(3)Elastic 是一个简单的 CSS 框架用来对网页进行布局
(4)BootMetro 基于 Twitter Bootstrap 框架构建,用于创建 Windows 8 的 Metro 风格的网站,灵感来自于 Metro UI CSS
(5)zui框架,国产禅道项目;
(6)Pure 是来自雅虎的 CSS 框架,使用 Normalize.CSS 无需任何 JavaScript 代码。