“返回顶部”的应用相当广泛,在典型的超长页面里,它几乎是必须的。比如新浪微博里,页面的长度因数据的加载而长达数千像素,它的“返回顶部”并没有太多特别之处,唯一有趣的是那个向上箭头是有两个字符组合而成而并非图片。正是这种细微之处,体现了前端的创想力以及对页面性能的进益求精。
虽然我的题目是插件,但其实内容多半和插件没半毛钱关系…
“返回顶部”的应用相当广泛,在典型的超长页面里,它几乎是必须的。比如新浪微博里,页面的长度因数据的加载而长达数千像素,它的“返回顶部”并没有太多特别之处,唯一有趣的是那个向上箭头是有两个字符组合而成而并非图片。正是这种细微之处,体现了前端的创想力以及对页面性能的进益求精。
虽然我的题目是插件,但其实内容多半和插件没半毛钱关系…
Firebug 1.9
Firebug 1.9于1月6日发布,新版本带来了诸多新的实用功能,为此我翻译了这篇关于新特性的文章:Firebug 1.9 New Features
/* ———– translation begins ———– */
Firebug 1.9 已经发布,和往常一样我又有了这样一个机会,来介绍一些被引入的新特性。
首先来看看下面的兼容性列表:
Firebug 1.10 alpha 1 下周面世,你也可以同时在Firefox最新版上使用 Firebug 1.9b6。
Tab能算的上是网页里最为常见的组件,不论是作为内容切换,还是直接作为导航,形形色色的Tab扮演着各种交互角色。既然是重要的交互角色,那么无论其颜色还是形状都关乎整个交互过程——圆角是有意义的,在视觉上把Tab和其他分隔元素区别开来是必要的,就如同圆角按钮一样——可能很多时候圆角按钮都与整个设计风格格格不入,但却是必须的,因为交互元素的凸显比整个设计浑然一体更为重要。
在IE67日渐边缘的如今,2012可能是前端重心转移最为明显的一年。于此也就不去考虑过时浏览器的兼容性了,对于它们,能看看内容就已经不错了,管它美不美观错不错位,时代在进步,往前看才不至于失业……
今天琢磨了会写了下面这样一个CSS圆角Tab,和网上流行的圆角Tab不同之处在于:Tab底部也使用圆角过渡。
出于战略性原因,IE始终对 WebGL 有复杂的感情。Apple,Google,Mozilla以及Opera都已经成为了WebGL工作组的成员,仅剩微软处境极为尴尬。支持WebGL意味着自己苦心经营的DX被孤立在标准之外,不支持单独自立门户的话又是与标准为敌,更要被众多开发者唾弃,如今微软日渐势弱,对于是否在IE10上支持WebGL,对于微软而言绝对将是一个“非常艰难的决定”。
然而就在这一系列关系还没理清之际,微软IE博客昨天发布了一篇 Working with Binary Data using Typed Arrays,显然IE10将确实地支持Type Arrays,加上之前已经支持的Chrome12以及Firefox7,三巨头无疑即将把整个Web推进二进制的新世界。(当然,国内自然是遥遥无期)
昨天我度过了自己难忘的25岁的生日,对于我而言,今年非比寻常。而对于浏览器世界也是如此——这个月我看了数份浏览器报告,欣慰地看到了Chrome的高歌猛进,Firefox的老当益壮,IE9的势如破竹,当然最最欣慰的,莫过于看到IE6/7的垂死挣扎,恍惚间幻觉三足鼎立之势已成。不过转念一看国内的情形却又让人沮丧,各种壳浏览器横行,前端革新之路仍相当遥远漫长。
这里,我预告了自己的年度作品,作为告别礼的序幕。
Tilt 是一个将页面按照文档树的结构3D化的Firefox插件。它基于WebGL,看起来非常的酷,今年七月当 tilt发布第一个alpha版 的时候,我就被它惊艳的效果吸引了。时隔3月之后,这个插件发布了新的更新,同时Mozilla也发了篇新文章 Debugging and editing webpages in 3D。
清除浮动对于任何CSSer来说都是基本中的基本,但我不喜欢称其为基础,因为最近我浏览网页看到各种充斥的清除浮动的方法后,才彻底明白,虽然各种方法被大量的使用,却甚为混乱。最糟糕的是很多有问题的流传版本的搜索排名都非常靠前,用神大人的话说就是:“错误的知识是毫无意义的”。
然而坊间流传的很多方法并非错误,而是有偏差——往往使用中不会出现问题,但是严格地说,它们是不准确的,难道我们搞技术的不应该严谨一点么?于是,怀着一种无可奈何的心情,试图用我所知道的“也有可能是不正确的”知识,来“再解”清除浮动。虽然不知道能有多少人看到这篇文章,但有时我还是想喊出声来——“那样做并不妥”。
最近有空可以让我静下心来看看各种代码,function与感叹号的频繁出现,让我回想起2个月前我回杭州最后参加团队会议的时候,@西子剑影抛出的一样的问题:如果在function之前加上感叹号 (!) 会怎么样?比如下面的代码:
!function(){alert('iifksp')}() // true
在控制台运行后得到的值时true,为什么是true这很容易理解,因为这个匿名函数没有返回值,默认返回的就是undefined,求反的结果很自然的就是true。所以问题并不在于结果值,而是在于,为什么求反操作能够让一个匿名函数的自调变的合法?
我们对 inline-block 并不陌生,在工作中经常会碰到类似的应用,比如 list 的居中,比如各种 gallery 的列表展示,细小到可能只是一个段落里的一个元素,大到也许是整个的布局,都可以见到。
引用怿飞的 display:inline-block的深入理解,对于其中已经提到的这里不再冗叙。这篇文章里,我试图谈论的是网络上对于 inline-block 的一些误解,以及个人对于 inline-block 理解上的一些补充。
有关PNG的压缩和优化的主题其实也算是前端相当常见的部分,只是当前端把大把大把的时间和精力放在代码上面的时候,往往总是忽视对于图片的很多效果立竿见影的优化,而之所以这里主要说的是PNG,是因为相比JPG和GIF,PNG有更多压缩的空间。
写此文的契机是前端时间正好回顾了一篇 sitepoint 上的老文,《PNG8 – The Clear Winner》,主要讲述如何使用fireworks创建和利用PNG8的半透明,并兼容老浏览器如IE6-。虽然这篇文章和本文并没有任何关系,却让我回想起一些渐渐被遗忘的知识,作为一个coder的不断coding中渐渐忽视的问题——PNG压缩。
压缩过程毫无技术性,使用诸如 PngOptimizer 或者 PNGOUT 等工具可以轻而易举地将Photoshop、Fireworks生成的PNG图像继续缩小。我几乎总是使用 PNGOUT,原因是使用过各种工具比较得出的结论——PNGOUT生成的文件几乎总是最小的。所以之后的讨论也是以PNGOUT作为基准的。