使用 Media Query 检测设备 Reduced Motion 设置

最近在看《Smooth Scrolling and Accessibility1 》这篇文章时,发现在 Safari 10.1 中增加了一个好玩的访问性检测——Reduced Motion2,因此可以通过特性检测区分并对一些配置较差或主动开启「减弱动态效果」的用户进行体验优化。

继续阅读

发表在 前端开发 | 标签为 , , , | 留下评论

解决 VMware Fusion 中虚拟机启动时报「Could not open /dev/vmmon」的问题

最近在做 RN 开发,安装了 Genymotion 模拟器。之后发现开 VMware Fusion 虚拟机调试旧 IE 时,会在启动时报「Could not open /dev/vmmon」的错误导致无法启动。
继续阅读

发表在 软件技巧 | 标签为 , , | 留下评论

使用 BEM 的几个注意事项

最近在做新的博客主题,又恰巧在整理 HTML 中为元素命名方面的心得,就借机重温了一下 BEM 文档。或许是太久没看官方文档,我发现 BEM 如今已经延伸到了 Web 开发实践的范畴,而不再是一个单纯的命名规范。好坏不谈,总结一下注意事项。

继续阅读

发表在 前端开发 | 标签为 , , | 留下评论

GTD 对个人效率的提高和「7个习惯」学后感

刚刚忙完了紧张的工作周期,紧接着就在周末补充了一下养分,学习了「7 个习惯」。原本分享的内容刚写了一半,干脆停下来趁头脑清醒结合之前学习的个人效率提高方法总结一下感受。

继续阅读

发表在 不想分类 | 标签为 , , | 留下评论

Safari 10.1 中的 Web 新特性

New Web Features in Safari 10.1

发表在 不想分类 | 留下评论

[译] 6 种 JavaScript 展开操作符的绝妙使用

本文翻译自:6 Great Uses of the Spread Operator

spread operator with emoji

继续阅读

发表在 前端开发 | 标签为 , , | 留下评论

在 Tmux 中开启鼠标选择与复制

Tmux 高效的快捷键和屏幕分割功能可以显著提高操作效率,但是默认进行内容选择与复制的操作有些繁琐。有时其他同事帮忙调试时很不适应,会不自然的用鼠标去拖选内容复制。在 Tmux 中开启鼠标模式并不复杂,只是常见的文档里并未列出。
继续阅读

发表在 软件技巧 | 标签为 , | 19 条评论

使用 .toLocaleString() 轻松实现多国语言价格数字格式化

最近在项目中遇到了多语言价格格式化的需求(即 $2399 => $2,399 的转换)。在过去做大陆站时显然是没有这种需求的,因为千位分隔符(group separator)是为了方便快速看懂大数字位数,根据英语的千位分位方式(千、百万、十亿、万亿)而设置的。中文虽然国标规定四位以内的整数可以不分节,但所有主流网站对更大的数字也都没有进行数字分节。因为千位分隔符对中国人来说本身就是没有卵用的东西,中文即便使用数字分位,也是万位分位方式(万、亿、兆)。


继续阅读

发表在 前端开发 | 标签为 , | 留下评论

[译] JavaScript 数组方法:变异 vs. 非变异

本文翻译自:JavaScript Array Methods: Mutating vs. Non-Mutating

JavaScript 提供了许多方式去增加、删除和替换数组中的元素,有些会作用到原数组本身,有些则不是——它们会返回一个新数组。

接下来,我会分别列举如何使用变异或非变异方法来实现这三个操作。文章末尾还会展示如何通过非变异方法 array.map() 来遍历数组并转化其中的元素。

虽然在这我没有列举一个详尽的列表,但是下面基本包含了数组所有的基础操作方式。
继续阅读

发表在 前端开发 | 标签为 , , | 留下评论

做好中文排版

《做好中文排版》是 2015 年 4 月份在团队的内部分享会上我整理的一篇关于前端中文字体版式的基础总结,主要根据中文排版需求做了一点摘要和整理,然后做了一个适应当时小米网的前端中文排版实践。希望能对前端初学者提供些许帮助。里面的内容现在看可能有些陈旧,很多代码或许已经不是最佳实践,仅供参考。


继续阅读

发表在 前端开发 | 标签为 , , | 3 条评论