Node.js 详解
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让 JavaScript 可以在浏览器之外运行。本文将从概念到实践,全面介绍 Node.js,并深入分析它与浏览器 JavaScript 的差异。
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,它让 JavaScript 可以在浏览器之外运行。本文将从概念到实践,全面介绍 Node.js,并深入分析它与浏览器 JavaScript 的差异。
事件循环(Event Loop)是 JavaScript 异步编程的核心机制,理解它是成为一名优秀前端工程师的必备技能。本文将从基础概念到浏览器和 Node.js 的实现,全面讲解事件循环。
过去,要检测一个元素是否可见或者两个元素是否相交并不容易,很多解决办法不可靠或性能很差。然而,随着互联网的发展,这种需求却与日俱增,比如,下面这些情况都需要用到相交检测:
用户体验设计秉承着以用户为中心的思想,以用户需求为目标。设计过程注重以用户为中心,用户体验的概念从开发的最早期就开始进入整个流程,并贯穿始终。良好的用户体验设计,是产品每一个环节共同努力的结果。
除去一些很难一蹴而就的,本文将就页面展示、交互细节、可访问性三个方面入手,罗列一些在实际的开发过程中,积攒的一些有益的经验。通过本文,你将能收获到:
了解到一些小细节是如何影响用户体验的
了解到如何在尽量小的开发改动下,提升页面的用户体验
了解到一些优秀的交互设计细节
了解基本的无障碍功能及页面可访问性的含义
了解基本的提升页面可访问性的方法
当用户点击菜单按钮,在弹出导航栏的同时,汉堡形状的按钮也会动画渐变成叉号。再次对其点击时,导航栏收回,按钮也恢复原样。关于汉堡菜单,虽然 GitHub 上已经有相关的库 hamburgers,但因为我使用的 nuxt 框架采用的是 rem 布局,对于 px 到 rem 的转换让我实在头疼。再三思量之下,还是决定自己手动模仿一个出来。具体实现效果如下动图。
在按设计稿搭建项目页面时,碰到了一处内容呈现方式如下图所示的元素。文字在菱形边框内居中摆放的布局看似简单,却让我陷入了长时间的束手无策。如果只是通过 transform 将一个 div 旋转 45deg,其内的文字也会跟着转动,这显然不符合要求。