CSS多列等高

对于多列等高布局方法远非一种,但是我觉得浏览器兼容最好而且最简便的应该是padding补偿法。 padding补偿法的做法是把列的padding-bottom设为一个足够大的值,再把列的margi...

简述Promise背后的实现原理

在web开发中,我们往往离不开异步操作,过去我们的做法往往是通过回调函数多层嵌套来解决后一个异步操作依赖前一个异步操作,这样一层一层回调的嵌套很容易让人晕掉,更别提可维护性,为了解决回调的痛点,陆...

Canvas画文本自动折行

一直以来,如何在canvas中绘制text的时候自动折行都是一个比较困扰的问题,今天终于发现了一种比较好的办法。 具体思路: 先将输入文字内容的每个字符拆分成单个元素(比如span),再将这些元素...

浅谈个人博客被攻击

前些天没事的时候寻思着看看自己的博客,但是一打开发现博客不太对劲,我的两篇博客标题和内容都被改了,标题被改为了 Hacked By XwoLfTn 内容被改为了 <p align...

巧用canvas实现网页截图

将DOM内容HTML绘制到画布中是有可能的,但如何有把握并且安全地实现它,就应该按照规范行事。你不能把HTML画到canvas上。相反,你需要使用一个SVG图像,其中包含你想要呈现的内容。可以使用...

canvas模拟妙味课堂拖动验证码

很久没写博客了,很紧张,很忐忑。 其实一直记挂着,也总想发点什么,不是没有内容说,当然时间也不是最主要的原因,就像某位博友所说时间就像乳沟,挤一挤,总会有的,归根结底,一个字,懒!相比之前自己确实...

js平面旋转

在项目开发中,选装效果经常会用到,下面简单的封装了一个旋转插件: (function(){ var rotated = 0; var rotatable = (function()...

css旋转实际坐标转换

在网站开发过程中,我们经常会遇到平面内元素旋转的问题,对于网页中元素的旋转,除开three.js这些大框架(仅为一个平面旋转引入一个庞大的库太浪费),与旋转相关的有三个: 1、css中transf...

js实现带边界检测的拖拽效果

很久没有更新博客了,相比以前感觉自己是有点变懒了,好在现在以前的那个我又回来了。 本文记录的是一个简单的js拖拽效果,实现使用es6语法写的,没考虑兼容性,只是简要的说明一下原理。相信看到此文的朋...