-
图片懒加载
懒加载是指延迟资源的加载到真正需要该资源的时候,是一项常见的前端优化手段。使用了图片懒加载的网站的最典型代表就是谷歌图片搜索和百度图片搜索。 懒加载可以用于除图片之外的很多资源,这里仅以图片懒... -
为代码块添加行号以增加可读性
今天给博客的代码块添加了行号,这对于jekyll来说很简单,只需要在指定代码语法高亮时添加linenos属性就好了。 但是如何使用CSS来实现呢? 因为整个代码块只是一行一行的文本,所以我们... -
在下拉选项末尾添加小三角来标记下拉选项有下拉列表
在实现下拉菜单时候,会遇到并不是所有的选项都有下拉列表的情况,通常的设计是在有下拉列表的选项后面添加一个向下的小三角。 更进一步的是在下拉列表展开时,小三角指向上方;下拉列表隐藏时,小三角又恢... -
不折行的长下拉菜单项及背后的原理
把多级导航做成下拉菜单的形式是现在的通用设计。 仅使用CSS实现一个下拉菜单是很简单的,主要思路就是使用绝对定位。 但是在下拉菜单项的内容较长,准确地说是长度超过上一级菜单项的内容长度时,下... -
CSS包含块
CSS包含块是CSS的视觉可视化模型的一个重要的基本概念,因为每个元素都是相对于其包含块摆放的。也就是说,元素的包含块为元素的尺寸和位置的计算提供了参考,是元素的“定位上下文”。 元素的包含块... -
Currying(柯里化)和Partial Application(部分应用)
刚接触currying和partial application时,傻傻分不清。还一度认为它们是同一个概念的两个略有差别的版本。 随着了解的深入,才发现我错了。 Currying Curri... -
通过设置「uid」和「gid」实现http服务器监听80端口
http默认监听80端口,但是在*nix操作系统下,只有以root权限运行的程序才能监听1~1024范围内的端口。 所以在使用node/express开发web app时,经常指定其他端口,比... -
在浏览器中使用「Jade」作为模板引擎
使用过emmet后,基本上都会喜欢上使用它高效地书写HTML;而在使用过Jade后,也同样会喜欢上它的简洁和高效。 Jade一般用于服务器端,是express默认的模板引擎,如果想在浏览器中使... -
设置「npm prefix」进行全局安装
npm模块有两种安装模式,本地安装和全局安装。两者的区别在于:本地安装用于当前项目,全局安装用于命令行工具。 全局安装在*nix系统之下需要权限 1 $ sudo npm i -g <... -
「let」和「const」
ES6终于带来了期待已久的块级作用域:let和const。 块级作用域 let和const声明的变量都具有块级作用域,即它们只存在于包含它们的最内层的块。 而之前的var声明的变量的作用域为...