高效 CSS

如何编写高效 CSS 其实是一个过时的话题。

这方面曾经存在许多真知灼见,比如说 CSS 选择器的解析方向是从子到父,比如说 ID 选择器是最快的,不应该给 Class 选择器加上 Tag 限制,尽量避免使用后代选择器等。但是,随着浏览器解析引擎的发展,这些都已经变得不再那么重要了。MDN 上阐述高效 CSS 的文章也已经被标记为过时。

Antti Koivisto 是 Webkit 核心的贡献者之一,他曾说:

My view is that authors should not need to worry about optimizing selectors (and from what I see, they generally don’t), that should be the job of the engine.

因此,如果把“高效 CSS”的含义限制为“高效 CSS 选择器”的话,那么实际上现在它已经不是开发者需要关心的问题了。我们需要做的事情变得更“政治正确”:保证功能与结构的良好可维护性即可。

那么 CSS 的性能还能通过什么方式提升呢?这就是下面的内容。

阅读全文 »

什么是 BFC

BFC(Block formatting context)是 CSS 中的一个概念,先来看一下定义 (By MDN):

A block formatting context is a part of a visual CSS rendering of a Web page. It is the region in which the layout of block boxes occurs and in which floats interact with each other.

大意就是,BFC 是 Web 页面通过 CSS 渲染的一个块级(Block-level)区域,具有独立性。

BFC 对浮动元素的定位与清除都很重要:

  • 浮动元素的定位与清除规则只适用于同一 BFC 中的元素
  • 不同 BFC 中的浮动元素不会相互影响
  • 浮动元素的清除只适用于同一 BFC 中的元素
阅读全文 »

“渐进增强”与“优雅降级”是 Web 页面两种不同的开发理念,为了简单起见,先给出定义(By W3C):

Graceful degradation Providing an alternative version of your functionality or making the user aware of shortcomings of a product as a safety measure to ensure that the product is usable. Progressive enhancement Starting with a baseline of usable functionality, then increasing the richness of the user experience step by step by testing for support for enhancements before applying them.

翻译:“优雅降级”的目的是为你的功能模块提供一种替代方案,或者让用户意识到某种产品(浏览器)的缺陷来保证你的产品的可用性。“渐进增强”是在一个最基本的可用功能之上,通过在拓展功能前检测(浏览器的)支持性逐步地提升用户体验。

这两种方案看起来好像没有什么太大区别,并且最终的结果貌似也是一样的。但是看完后面更多的解释和示例,就会更明白一些,其实这里面是真的有区别的。

一些博文将其简单地归结为如下内容:

.transition {   /*渐进增强写法*/
-webkit-transition: all .5s;
-moz-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.transition { /*优雅降级写法*/
transition: all .5s;
-o-transition: all .5s;
-moz-transition: all .5s;
-webkit-transition: all .5s;
}

这个解释是完全错误的。实际上任何情况下我们都应该使用前者的 CSS 写法。

阅读全文 »

这次更新主要是把工具做成了 WordPress 插件的形式,安装和使用起来都更符合 WordPress 的风格了,也不用再通过改代码去更改配置参数。之所以一次性把版本号提到了 0.1.0,是因为我觉得它虽然功能还不是非常完善,但是已经达到了“至少能用”的程度。

工具的主要功能目前为止并没有什么变化,至于这个过程中获得的少许 WordPress 插件开发经验下次再总结,好在没走多少弯路。

使用方式:Clone https://github.com/wxsms/baidu-submit-for-wordpress 仓库并上传至主机的

/wp-content/plugins

目录,在 WordPress 插件控制面板中设置启用即可。准入密钥以及域名的配置页面可以在“设置”中找到,其中也包含了手动推送的页面。

花了两个晚上读了最近挺火的一本书,名曰《解忧杂货店》,同时也是我看过的第一本日本小说。看完以后只有一个感觉:这大概是过期的鸡汤吧。一点味道都没有。与此同时,总觉得有些什么地方不对。现在认真想了想,果然是奇葩。由于不清楚日本文化,也不知道该说是日本人奇葩,还是说仅仅是故事或者作者奇葩。

阅读全文 »

作为目前的国内搜索主流,百度的收录规则与国外搜索引擎如谷歌、必应等不太一样,虽然它也有提供普通的Sitemap模式,但是据它自己所言通过这种方式收录效率是最低的。另外还有一种是自动推送,即在网站所有页面都加入一个JS脚本,有人访问时就会自动向百度推送该链接,但实测经常会被浏览器的AD Block插件阻拦。因此还剩下效率最高的一种方式:主动推送。我试过了一些现成的插件,好像都不太好用。因为是一个简单的功能,所以就自己写了一个小工具来实现。

阅读全文 »

有剧透。

2016年看的第一场电影,昨天,三打白骨精。有点晚了。春节档唯一感兴趣的就是它。

美人鱼看了预告片和简介,结合各种评分短评影评,我觉得它远远没有达到期望。个人认为评分7分上下,对于其它电影或许是“值得一看”,对于周星驰的电影来说,只能相当于“不是垃圾”。这是在砸招牌。更不用说很多人的高分只是给的这块招牌。

说回到三打白骨精(以下简称三打)。虽然它评分不高,虽然我看过的国产电影不多,虽然它题材滥上加滥,但我还是要说,这是我看过的最好的最值的最不坑的国产爆米花电影,比去年的口碑高峰寻龙诀还要好上不少。国产电影能有这么大的进步,作为一个普通电影爱好者我是觉得很高兴。

为什么说三打要比寻龙诀好呢。其实它的特效没有比寻龙诀高,尤其是3D这一方面,但是,三打把电影的使命捡了回来,就是讲故事。寻龙诀根本就没有在讲故事,看的过程中就感觉各种特效乱飞,火花四溅,然后就结束了。然而三打不一样,它做到了特效为故事服务。虽然一路走过来依然很酷炫,但是作为观众我能感受到重要的角色都有它背后的故事,以及正在发生的故事。能感受到角色的立体度。实实在在的角色,而不是只活在大银幕这个平面之上。

三打对原故事进行了不少的改编,以往的国产电影很多改编都是坑爹,但是我认为这些改编却偏偏很多都是恰到好处的。为什么呢。因为改编后的电影可以让观众更加关注于主要的故事其本身,另外节省说故事的时间。就比如说,我们都知道师傅是如何收的二师兄以及沙师弟,但是电影就将其极简化了,他俩简单粗暴地一起搭上了大师兄的顺风车。这么做虽然当时看的时候觉得有点怪,但是事后想想是非常妙的。观众不需要导演去告诉他们师傅在白骨精之前是怎么走过来的,90%的观众都知道这背后到底是怎么回事,观众看的电影叫三打白骨精,直入主题。这样的改编在电影中还有不少,我认为都是为了简化故事结构突出主线而生。

但是,有几处改编,却又是在“三打白骨精”这个原著故事上做出了扩展。这也是很有意思的一点。电影把无关紧要的剧情都尽量简要交代,然后竭尽所能地拓展主线。原著故事没有吃人血的国君,没有白骨精的前世今生,也没有佛祖亲自收它,白骨精之于大师兄更是蝼蚁之于巨象。但是,电影偏偏在这么一个简单的故事上脱离了纯爆米花的低级趣味:要探讨人性,要探讨佛性,要挖掘黑暗面。其实我觉得如果要更有意思一点的话,其它可以有,白骨精还是不要那么强的好,就保持原著的水平,千年修行,最后被大师兄一棍子打死,然后师父再舍生取义,再打死师傅,更探讨,更黑暗。不过这么搞特效就没法做了。

此外,看了那么多的西游电影电视剧,貌似也只有三打在真正地学习老版西游记的精华。不是说它的“二师兄,师傅被妖怪抓走了”之类的吐槽以及片尾曲,而是说只有这只猴子以及老版西游记的猴子是在演猴子。看得出郭天王努力地在向六小龄童大师学习,各种动作都是以猴为基准,而不是人,虽然水平是差了一个筋斗云,但是最起码有认真地去学。要是不说他是郭富城我估计真没多少人能猜得出来,说得夸张些,他的影子里只有猴。如果说老版西游记的猴子是精华,那么师傅就是糟粕。三打不但吸取了精华,还扔掉了糟粕。这里面的师傅,虽然在大圣和妖怪面前看起来依然是手无缚鸡之力,但是,重要的一点,这是一个有主见,有信仰,有觉悟的师傅,是不辱其名的圣僧(吐槽一下电影的圣僧之翻译:Holy monk,上帝的和尚)。多说无益,看过便知。

要说缺陷的话,自然还是不少,不然不会只有5+的评分。二师兄和沙师弟是打了整场的酱油,就俩高级步兵,除了会吐槽以外屁用没有。认真想想的话其实有他俩没他俩剧情根本一模一样,即使最后大师兄回家了也不是二师兄给讨回来的。电影的审美过于西化了,比如小白龙的形象,比如白骨精的形象。但是,瑕不掩瑜,还是要说,这是我看过的最好的最值的最不坑的国产爆米花电影。

安装在阿里云虚拟主机环境下的Wordpress死活都发不出邮件,用户注册的邮件发不出,评论总结也发不出,等等等等,尝试了各种方法都以失败告终。今天用更改代码+SMTP插件终于试成功了,以下是解决方案。

阅读全文 »

本文是本站的建站历程记录。每个人都可以使用极少的代价(甚至免费)拥有一个域名独立且完全自主的个人网站或博客,在于怎么选择而已。此类网站的搭建很多情况下并不要求其操作者是一个程序狗,所以个人感觉可玩性还是挺强的。整个过程一共需要准备三种事物:域名托管程序(特殊情况,如果选择国内主机则需要准备第四种,即备案)。

阅读全文 »

用 IDEA 撸代码的时候有一个非常恶心的问题,它的滚动条经常会无缘无故地跳动,最常见的就是拖动滚动条之后它会马上跳回到原本的位置,纵向和横向都有此问题,因此基本上每次都至少要拖两次滚动条才能成功,烦不胜烦。升级版本等等都没有用。今天终于找到了真正的解决方法,就是关闭屏幕取词软件或禁用软件的取词功能(比如有道)。完全、彻底地解决此问题。

0%