标签 语法 下的文章

stroke-dashoffset 造成的高 CPU 与内存占用问题

最近在做一个前端项目(对我终于写前端了),在做动画的时候发现网页很卡,后来发现是 CSS 动画的问题,刚开始开启了 3D 加速,发现然而并没有什么卵用,后来我就开始搜一下这个属性有没有什么过渡方案,就引发了一连串的故事……

stroke-dashoffset 是啥

SVG 中 path 可以构造很多形状,如果要绘制一些动画效果,有两个 stroke 属性非常关键:stroke-dasharraystroke-dashoffset

- 阅读剩余部分 -

从 PostCSS 与 cssnext 中看 CSS 的新特性

今天刚好看了一下 PostCSS,看到了 postcss-cssnext 的网站,觉得用来学习一些新特性(虽然现在来看似乎不怎么新)。

先来介绍一下 PostCSS 与 Sass / Less / Stylus 相比的区别,也就是后处理器和预处理器的区别。

预处理器与后处理器

对于预处理器(Sass / Less / Stylus)而言,就像 JavaScript 的方言语法 coffeescript,或者 HTML 的方言语法 pug(jade) 那样,你需要学习一套新的不同的语法,这些 CSS 方言通过编译器编译成 CSS 文件,最终浏览器实现解析。

- 阅读剩余部分 -

CSS 实现左右交换的效果

鞋厂的 App 有这么一个效果,而我的小伙伴刚好要做这样一个效果,于是就开始研究到底是怎么做的,Emmmm,大家都知道我平时糊设计图的功底为 0,所以好好研究了一下。:

2017-12-05 at 20.42.gif

首先布局用 flex 可以实现,而动画可以用 transform 或者 animation 实现。

这个布局第一反应是 justify-content: space-between,写了一波之后果然可以实现这个效果,但是动画该怎么定位才是大难题。

- 阅读剩余部分 -

GitHub / GitLab Webhook 接口开发指南

前一阵子要开发一个从 GitLab / GitHub 通过 Webhook 拉取文件并且上传指定 OSS 的接口,于是就找起了 GitHub 和 GitLab 的官方文档。

当然官方文档实在是太过冗长,尤其是公司自建的 GitLab 版本还有可能不一致,所以就只能看搭建的 GitLab 提供的文档信息,对于一些遇到的问题就看命看版本查了。

- 阅读剩余部分 -

Haproxy 入门、监控和 statsd 打点指北

作为一个奇奇怪怪的前端码畜,偶尔就会和一些奇奇怪怪的事情打交道,前一阵子也算是挺忙的了(尽管只是个没有更新博客,连续跳票的借口)。

这次使用 haproxy,是因为他作为负载均衡和反向代理而言配置起来比 Nginx 简单,并且自己就提供了监听页面。

我们来看一个完整的配置文件就知道了:

- 阅读剩余部分 -

CSS position sticky 的一些微小理解

position 中有哪些属性——相比这是一道送分题,大多数人都知道:static, relative, absolute, fixed,如果能答出 sticky——那么可以给你一颗五角星。

实际上,sticky 在一般的开发中并不常用,主要还是因为兼容性的问题,继续用 caniuse 查 sticky 你会发现支持性并不是很好,所以并不适合大部分业务场景。

- 阅读剩余部分 -

记一个 event.target 类型导致的 Bug

今天刚接的新锅报了个不太好复现的 Bug(实际上到最后都没有在原环境复现……),于是看了一波代码找问题,Bug 大致是:

xxx.hasAttribute is undefined

调用到的地方有几处,首先确定了 hasAttribute 是写在 Element 的原型链上的,即如果是 Element 类型(element.nodeType === 1),那么必然有 hasAttribute。

在此之前,我先查了一下,什么情况下 「Element」 会没有 hasAttribute:

- 阅读剩余部分 -

谈谈对 URIEncode 的一些处理

最近斗志非常差,当然很大程度还是自己的锅……这又不是个情感博客我就不细说了……

这周公司里又开始做新的东西了,大概是类似于反向代理,但是授权了私有库的权限,需要做一些限制,比如 GitHub 路径限制为 dist

最初的时候我们这么验证路径:

- 阅读剩余部分 -