YUI3的CSS与YUI2的CSS不同 改变最大的我觉得是Grids部分,YUI2中以模版的方式提供给我们调用,功能中多选项也很多,而且配合Grid Build Tool,可以快速的生成复杂的页面结构。 YUI3 Fonts 在YUI2的Fonts中,使用em来表示文字的大小。但是在YUI3中,这一规则被打破了,改为使用百分比来表示文字的大小。如下表,这样的表达方式对于平时的书写来说,是不太友好的。 YUI3 Grids 习惯了YUI2中的Grids System之后,初次转换到YUI3中非常不习惯。因为YUI2提供了一个非常强大的工具(YUI Css Grid Builder)。 但同时,YUI2因为其强大,也带了较高的复杂度,曾经因为为了调整页面的宽度,而花费了不少的功夫。YUI3的Grids System却是相当的简单,看看下面这个列表,就能够明白一二。 ?
YUI这几个CSS存在于两个版本的YUI中(YUI2和YUI3)。本文的介绍以YUI3版本为例。 1、YUI3 Css Reset。 YUI3 Css Grids中对于命名规则进行了改变,这与YUI2 Css Grids中有很大的不同。不过基本原理还是一样的熟悉了任何一个,就能够方便快速的进行页面的布局。 当然,现在YUI3的Css Grids还在Beta阶段,还不是太完善,如果我们需要一个成熟的解决方案,可以考虑使用YUI2的Css Grids,使用YUI2的Css Grids并不会影响我们使用YUI3
YUI3在前身YUI2基础上进行了大量的重新设计,并不只是简单的版本升级。YUI3强调代码重用,将功能做了级别划分和颗粒化的设计。 该模块包括OOP模块(提供对象继承机制,DOM等绝大多数模块直接或间接依赖OOP)、Dom模块(提供基础的DOM操作与选择类)、Node模块(基于Dom模块,提供文档节点的创建、选择和操作等方法,相比YUI2
参考资料: 1、Fight Div-itis and Class-itis 2、960 Grid System 3、YUI2 Grid CSS
2.2 命名空间的使用 命名空间支持嵌套定义 namespace yui1 { namespace yui2 { int tmp = 100; } } int main() { printf ("%d\n",yui1::yui2::tmp); return 0; } 命名空间的3种使用方式 namespace yui { int a = 1; int add(int x,int y)
美团项目初期因为要加快开发进度,选择了当时团队最熟悉的YUI2(前框架时代杰出的类库),保证美团能够更快更早地上线,抢占市场先机。 不久由于前端技术发展很快,YUI2的缺点逐渐凸显,例如开发方式落后、影响工作效率等等,于是我们开始考虑基础库的迁移。 最初,为了更快的从YUI2迁移到YUI3,模块元信息放在PHP中进行维护。随着时间的推移,渐渐显示出很多弊端。首先,在定义模块的js文件中已经包含模块名称、依赖关系等信息,和PHP中内容重复。
本文主要内容取自 Caridy Patino 在2008年发布的文章,原文中使用的是YUI2,笔者对例子做了一些更新,均使用了YUI3.1.1,文章中讨论的这个问题,在Ajax满天飞的现在具有典型意义
我在10年左右用的最多的还是 YUI2,YUI2 是用 namespace 来做模块化的,但有很多问题没有解决,比如多版本共存,因此后来 YUI3 出来了。
例如,在YUI2库中有一个充当命名空间的全局变量YAHOO,而模块是该全局变量的属性,比如YAHOO.util.Dom和YAHOO.util.Event。
我在10年左右用的最多的还是 YUI2,YUI2 是用 namespace 来做模块化的,但有很多问题没有解决,比如多版本共存,因此后来 YUI3 出来了。
例如,在YUI2库中有一个充当命名空间的全局变量YAHOO,而模块是该全局变量的属性,比如YAHOO.util.Dom和YAHOO.util.Event。
的 YUI2 项目。下面是一段真实代码,来自 Yahoo! 的一个开源项目。
2.2 命名空间的使用 命名空间支持嵌套定义 namespace yui1 { namespace yui2 { int tmp = 100; } } int main() { printf ("%d\n",yui1::yui2::tmp); return 0; } 命名空间的3种使用方式 namespace yui { int a = 1; int add(int x,int y)
著名案例 「YUI2」。
他从Windows上的DreamWeaver转到学习Linux(Ubutun)上的Vim,从只会用jQuery到能够读懂YUI2源代码,并自己独立写完整的脚本。