惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
Scott Helme
Scott Helme
D
DataBreaches.Net
人人都是产品经理
人人都是产品经理
N
Netflix TechBlog - Medium
美团技术团队
T
Tailwind CSS Blog
博客园 - 叶小钗
小众软件
小众软件
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
爱范儿
爱范儿
博客园 - Franky
量子位
I
InfoQ
博客园 - 司徒正美
Hugging Face - Blog
Hugging Face - Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Microsoft Azure Blog
Microsoft Azure Blog
博客园 - 【当耐特】
博客园_首页
Recorded Future
Recorded Future
The Register - Security
The Register - Security
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
Recent Announcements
Recent Announcements
Martin Fowler
Martin Fowler
C
CERT Recently Published Vulnerability Notes
Know Your Adversary
Know Your Adversary
P
Proofpoint News Feed
A
About on SuperTechFans
阮一峰的网络日志
阮一峰的网络日志
Cisco Talos Blog
Cisco Talos Blog
腾讯CDC
WordPress大学
WordPress大学
NISL@THU
NISL@THU
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
C
Cisco Blogs
D
Darknet – Hacking Tools, Hacker News & Cyber Security
酷 壳 – CoolShell
酷 壳 – CoolShell
Cyberwarzone
Cyberwarzone
The GitHub Blog
The GitHub Blog
T
The Blog of Author Tim Ferriss
The Hacker News
The Hacker News
N
News and Events Feed by Topic
Y
Y Combinator Blog
T
Troy Hunt's Blog
A
Arctic Wolf
V
V2EX
S
Secure Thoughts

张鑫旭-鑫空间-鑫生活

1分钟速度了解text-align match-parent声明 « 张鑫旭-鑫空间-鑫生活 光标的形状也能设置了,就是CSS caret-shape属性 « 张鑫旭-鑫空间-鑫生活 pretext与文字四面环绕效果的实现 « 张鑫旭-鑫空间-鑫生活 JSON.rawJSON方法的作用是什么? « 张鑫旭-鑫空间-鑫生活 如何使用CSS判断鼠标从哪个方向进入元素? « 张鑫旭-鑫空间-鑫生活 借助mediabunny纯JS实现视频水印、剪裁、合成等功能 « 张鑫旭-鑫空间-鑫生活 务必谨慎使用JS WeakRef弱引用 « 张鑫旭-鑫空间-鑫生活 CSS六边形头像的实现与蜂巢布局 « 张鑫旭-鑫空间-鑫生活 CSS corner-shape与背景底纹技术 « 张鑫旭-鑫空间-鑫生活 浅学WebTransport API:下一代Web双向通信技术 « 张鑫旭-鑫空间-鑫生活 HTML dialog元素新支持了closedBy属性 « 张鑫旭-鑫空间-鑫生活 HTML interestfor属性与悬停popover交互效果 « 张鑫旭-鑫空间-鑫生活 CSS3模拟window7炫酷界面效果展示 « 张鑫旭-鑫空间-鑫生活 图片旋转+剪裁js插件(兼容各浏览器) « 张鑫旭-鑫空间-鑫生活 纯js无图片无外链CSS图片幻灯片播放插件 « 张鑫旭-鑫空间-鑫生活 CSS border三角、圆角图形生成技术简介 « 张鑫旭-鑫空间-鑫生活 CSS “渐进增强”在web制作中常见应用举例 « 张鑫旭-鑫空间-鑫生活 让IE6/IE7/IE8浏览器支持CSS3属性 « 张鑫旭-鑫空间-鑫生活 jQuery – 高亮动态显示页面HTML代码插件 « 张鑫旭-鑫空间-鑫生活 翻译 – 逐渐消失的Flash网站 « 张鑫旭-鑫空间-鑫生活 CSS reset的重新审视 – 避免样式重置 « 张鑫旭-鑫空间-鑫生活 新浪微博插入话题后部分文字选中的js实现 « 张鑫旭-鑫空间-鑫生活 JavaScript实现http地址自动检测并添加URL链接 « 张鑫旭-鑫空间-鑫生活 CSS实现兼容性的渐变背景(gradient)效果 « 张鑫旭-鑫空间-鑫生活 CSS content内容生成技术以及应用 « 张鑫旭-鑫空间-鑫生活 CSS gradient渐变之webkit核心浏览器下的使用 « 张鑫旭-鑫空间-鑫生活 CSS渐变之CSS3 gradient在Firefox3.6下的使用 « 张鑫旭-鑫空间-鑫生活 区分IE8/IE7/IE6及其他浏览器-CSS “\9″hack « 张鑫旭-鑫空间-鑫生活 CSS实现跨浏览器兼容性的盒阴影效果 « 张鑫旭-鑫空间-鑫生活 CSS3&HTML5各浏览器支持情况一览表 « 张鑫旭-鑫空间-鑫生活 翻译 – CSS Sprites:实用技术还是生厌之物? « 张鑫旭-鑫空间-鑫生活 纯CSS实现易拉罐3D滚动效果 « 张鑫旭-鑫空间-鑫生活 纯CSS实现侧边栏/分栏高度自动相等 « 张鑫旭-鑫空间-鑫生活 CSS+JavaScript实现页面不同布局的切换 « 张鑫旭-鑫空间-鑫生活 JavaScript实现最简单的拖拽效果 « 张鑫旭-鑫空间-鑫生活 自己写的无图片版jQuery zxxbox弹出框插件 « 张鑫旭-鑫空间-鑫生活 中国古代道家思想与网页重构的思考 « 张鑫旭-鑫空间-鑫生活 让所有浏览器支持HTML5 video视频标签 « 张鑫旭-鑫空间-鑫生活 纯CSS实现各类气球泡泡对话框效果 « 张鑫旭-鑫空间-鑫生活 JS HEX十六进制与RGB, HSL颜色的相互转换 « 张鑫旭-鑫空间-鑫生活 CSS实现兼容性的渐变、高光等文字效果 « 张鑫旭-鑫空间-鑫生活 去除冗余 – 精简您的CSS样式代码 « 张鑫旭-鑫空间-鑫生活 对overflow与zoom”清除浮动”的一些认识 « 张鑫旭-鑫空间-鑫生活 jQuery Pagination Ajax分页插件中文详解 « 张鑫旭-鑫空间-鑫生活 absolute绝对定位的非绝对定位用法 « 张鑫旭-鑫空间-鑫生活 网页布局思想浅议-淘宝新版首页为实例 « 张鑫旭-鑫空间-鑫生活 回流与重绘:CSS性能让JavaScript变慢? « 张鑫旭-鑫空间-鑫生活 CSS float浮动的深入研究、详解及拓展(二) « 张鑫旭-鑫空间-鑫生活 CSS float浮动的深入研究、详解及拓展(一) « 张鑫旭-鑫空间-鑫生活 60个极富创造性的震撼的电影海报设计 « 张鑫旭-鑫空间-鑫生活 jQuery Lightbox(balupton版)图片展示插件讲解 « 张鑫旭-鑫空间-鑫生活 博客内嵌flash音乐播放器代码、下载与使用 « 张鑫旭-鑫空间-鑫生活 CSS3 animate实现图片墙3D翻转效果 « 张鑫旭-鑫空间-鑫生活 图片旋转效果的一些研究、jQuery插件及实例 « 张鑫旭-鑫空间-鑫生活 CSS3 border-image详解、应用及jQuery插件 « 张鑫旭-鑫空间-鑫生活 jQuery-两款不同原理的圆角插件讲解 « 张鑫旭-鑫空间-鑫生活 页面可用性之outline轮廓外框的一些研究 « 张鑫旭-鑫空间-鑫生活 CSS3 transition实现超酷图片墙动画效果 « 张鑫旭-鑫空间-鑫生活 HTML CSS列表元素ul,ol,dl的研究与应用 « 张鑫旭-鑫空间-鑫生活 jQuery图片文本滚动切换插件jCarousel中文翻译与详解 « 张鑫旭-鑫空间-鑫生活 酷酷的jQuery鼠标悬停图片放大切换显示效果 « 张鑫旭-鑫空间-鑫生活 IE6下z-index犯癫不起作用bug的初步研究 « 张鑫旭-鑫空间-鑫生活 checkbox复选框的一些深入研究与理解 « 张鑫旭-鑫空间-鑫生活 jQuery之使用slideToggle实现垂直下拉菜单 « 张鑫旭-鑫空间-鑫生活 jQuery-innerfade内部列表自动淡入淡出插件 « 张鑫旭-鑫空间-鑫生活 jQuery-火焰灯效果导航菜单 « 张鑫旭-鑫空间-鑫生活 IE下css bug集合-翻译自haslayout.net « 张鑫旭-鑫空间-鑫生活 翻译-IE7/8@font-face嵌入字体与文字平滑 « 张鑫旭-鑫空间-鑫生活 jQuery-马化腾产品设计与用户体验的一些技术实现 « 张鑫旭-鑫空间-鑫生活 像素的世界及其在web开发制作中的应用 « 张鑫旭-鑫空间-鑫生活 css行高line-height的一些深入理解及应用 « 张鑫旭-鑫空间-鑫生活 CSS实现圆角六色渐变自适应按钮详解 « 张鑫旭-鑫空间-鑫生活 我熟知的三种三栏网页宽度自适应布局方法 « 张鑫旭-鑫空间-鑫生活 jQuery照片图像剪裁插件Jcrop中文翻译详解 « 张鑫旭-鑫空间-鑫生活 Ajax Upload多文件上传插件翻译及中文演示 « 张鑫旭-鑫空间-鑫生活 告别图片—使用字符实现兼容性的圆角尖角效果beta版 « 张鑫旭-鑫空间-鑫生活 大小不固定的图片、多行文字的水平垂直居中 « 张鑫旭-鑫空间-鑫生活 jQuery boxy弹出层对话框插件中文演示及讲解 « 张鑫旭-鑫空间-鑫生活 JavaScript实现新浪微博文字放大显示动画效果 « 张鑫旭-鑫空间-鑫生活 翻译:让网络更快一些——最小化浏览器中的回流(reflow) « 张鑫旭-鑫空间-鑫生活 jQuery之addClasas与removeClass使用实例 « 张鑫旭-鑫空间-鑫生活 关于Google圆角高光高宽自适应按钮及其拓展 « 张鑫旭-鑫空间-鑫生活 JavaScript实现图片幻灯片滚动播放动画效果 « 张鑫旭-鑫空间-鑫生活 jQuery-鼠标经过显示大图并跟随鼠标效果插件 « 张鑫旭-鑫空间-鑫生活 关于gif图片(或png8)杂边锯齿的问题 « 张鑫旭-鑫空间-鑫生活 对html与body的一些研究与理解 « 张鑫旭-鑫空间-鑫生活 鲜为人知的一个解决兼容性问题的利器——小数 « 张鑫旭-鑫空间-鑫生活 搜狐白社会似iphone短信对话框效果的优化 « 张鑫旭-鑫空间-鑫生活 关于文字内容溢出用点点点(…)省略号表示 « 张鑫旭-鑫空间-鑫生活 jquery之append与insertBefore使用实例 « 张鑫旭-鑫空间-鑫生活 jQuery之图片关联伸缩效果 « 张鑫旭-鑫空间-鑫生活 jquery之图片左右切换动画效果 « 张鑫旭-鑫空间-鑫生活 jQuery之replace字符串替换实现不同尺寸图片切换 « 张鑫旭-鑫空间-鑫生活 jQuery-实现图片的放大镜显示效果 « 张鑫旭-鑫空间-鑫生活 jQuery-单击文字或图片内容放大显示效果插件 « 张鑫旭-鑫空间-鑫生活 reflection.js-实现图片投影倒影效果js插件 « 张鑫旭-鑫空间-鑫生活 jQuery-很酷的弹出层效果js插件 « 张鑫旭-鑫空间-鑫生活 复选框单选框与文字对齐问题的研究与解决 « 张鑫旭-鑫空间-鑫生活 css margin的相关属性,问题及应用 « 张鑫旭-鑫空间-鑫生活 IE6下png背景不透明问题的综合拓展 « 张鑫旭-鑫空间-鑫生活
Snap.svg.js实现的钓鱼知识分享及周边 « 张鑫旭-鑫空间-鑫生活
张鑫旭,zhangxinxu · 2014-02-26 · via 张鑫旭-鑫空间-鑫生活

by zhangxinxu from http://www.zhangxinxu.com
本文地址:http://www.zhangxinxu.com/wordpress/?p=4005

一、我没有以前勤奋了

这篇文章,有散文的味道,看似技术,实际上是自我反省与心理涤荡,原本计划周一晚上在家完成的,但是,被老婆色诱,只字未动。要是以前,计划的东西就算通宵不睡也会完成。但是,现在,我居然也拖延了。显然,我没有以前勤奋了。

以前,基本上平均每月都有4~5篇文章产出,看最近几个月,平均下降了有10%~20%. 数据是不会骗人的,显然,我没有以前勤奋了。

为什么没有以前勤奋了呢?

唉,想起了那句名言:“人在江湖漂,哪有不挨刀。岁月催人老,熬夜死得早!”

  1. 一晃也快30了,已经不是当打之前。现在还没到凌晨1点,我就大脑嗡嗡,心情烦躁;尼玛要睡觉——实在是扛不住啊!于是,想晚上乘效率高搞点东西也行不通。
  2. 现在不是孤家寡人,虽说媳妇大力支持工作。那你也不能每天都11~12点回家,那会引发家庭矛盾的。所以,每周需要有2天9点之前到家。路上1小时车程,8点就要离开公司,6点要吃晚饭,回到家嘘长问暖,洗洗弄弄,10点那是必须的。时间完全被一节一节的断开了,没了大段的学习工作时间。
  3. 现在不是住在公司附近。以前孤家寡人时候甚是自由,直接公司边上群租房走起。除了晚上睡一觉,其他全在公司。那时间都是6小时不间断。无论是写代码还是写文章都是很畅快啊。现在地铁差不多要1小时,每天2小时来回在路上。真是身不由己啊!
  4. 关注的东西有变化了。以前就是专注于技术研究,这个技术点,那个技术点,喜欢就折腾。现在,似乎自己更专注于作品,成功,方案之类,而不是单纯的某个技术点。一般而言,技术点从研究到文档出炉,数天时间即可。但是,折腾作品,个人项目之类,没个个把星期搞不定,尤其现在时间没以前多的情况下。像ieBetter.js, Snap.svg都至少2周的时间。必然文章产出比以前少了。

我开始有些明白为何玉伯啊,圆心啊,神飞这些前辈,后来自己的博客就不更新或很少更新了。

我现在还没有娃,要是以后掉下个小鑫鑫,估计能支配的时间更够呛。不是与我有类似遭遇的朋友与如何权衡与处理的?不妨大家一起分享交流下~~

二、钓鱼与分享

我是个钓鱼资深爱好者,不是钓鱼资深,而是爱好资深。说句夸张点的,如果钓瘾来了,就算天上下刀子(不是美国的),我也会毫不犹豫出门去钓鱼的。

今天设计中心大例会,除了请了微软某用研来做分享与讨论外,然后就是我的钓鱼主题小分享——“钓鱼知识小科普”。大家都在互联网染缸里浸泡已久,一看到钓鱼可能会想到的是——“钓鱼网站”,加上咋的技术身份,可能第一反应是讲互联网安全,钓鱼技术与防范之类。

哦,NoNoNo, 诸位不要看到菊花就想到“菊花”,人家这里讲的就是那个盛开的菊花。// 某观众:我想到的那个“菊花”也会盛开的。

如果大家不是很忙,可以过来瞅瞅,全当放松休闲。

钓鱼知识小科普

钓鱼知识小分享截图

操作为上下左右键,浮层全部使用ESC键隐藏。

基于SVG实现,因此,需要IE9+浏览器浏览。

哈,对了,里面还有一些短视频(正经视频),本人亲自出演。以及假装小白去渔具店的短视频。摄影师均是我媳妇。感谢媳妇对我工作的大力支持!

擦,忘记放分享地址了。您可以狠狠地点击这里:钓鱼知识小科普slide

三、SVG周边

分享为卡通矢量风格,这样的演示文档风格也是第一次尝试。使用的是SVG,记住Snap.svg库实现,Snap.svg的API中文版参见这里,鄙人数周整理出来的。

实际上,分享只是一部分,对于自己而言,制作这个分享文稿的过程,也就是SVG的学习是更重要的。下面就分享下一些处理经验。

SVG的定量思维
什么叫“SVG的定量思维”。SVG中的线(直线,曲线),面(矩形,圆)都没有相对尺寸这个概念,例如,宽度相对SVG画笔50%. 这是没有的,网页中我们可能会有这样的思维,成为相对思维,会让页面更有弹性。但是,SVG中,万万不可有这样的想法。

什么叫SVG,全称Scalable Vector Graphics, 也就是可缩放矢量图形的意思。也就是SVG本身可以被无限拉伸,那子元素所谓的相对尺寸就没有意义了。相对尺寸的意义在于里面的元素可以随着父级的尺寸变化而变化。而SVG本身尺寸的改变会带动里面的元素一起放大或缩小。因此,相对宽度是没有必要的。

SVG自身是需要定死一个尺寸的。例如,800x600. 此时,我们需要一个宽度为50%的线,我们直接宽度400像素就可以了。

在网页传统div布局中,如果子元素宽度是400像素,父容器宽度变化时候,其宽度依然400像素。因此,我们会经常使用50%这样的相对尺寸。但,SVG,父容器尺寸变化,子元素一起跟着变,因此,定值即可。这就是SVG的定量思维。

开源绘图工具SVG-edit
此工具我之前多次提到,为了查看方便,这里再放一次地址:http://svg-edit.googlecode.com/svn/branches/2.6/editor/svg-editor.html

我们为什么要使用这个工具呢?

1. 虽然Adobe的illustrator非常强大,绘制的矢量图可以直接出SVG. 但是,我们可能需要的只是一个路径值而已,频繁导出查看显然效率很低。SVG-edit提供实时SVG代码查看功能(见下图),绘制一条曲线,立马就可以得到相应的路径值,于是可以现用在Snap.svg中——绘制以及做其他动态处理。
查看SVG代码

2. SVG-edit提供诸如缩放、旋转这样的功能,其矩阵变化值直接代码可见,于是,我们可以得心应手使用Snap.svg.js进行绘制。

3. 实时呈现的SVG代码+Snap.svg对于我们快速理解与学习SVG很有帮助。

一些经验分享
1. SVG-edit的舞台尺寸要与你的SVG相一致。否则,诸如路径的值会不准确,等于做了无用功;
2. SVG-edit有本地存储功能,因此,无需担心页面关掉后,之前绘制的东西不见了;
3. SVG-edit中有很多图形库,如果您单纯使用Snap.svg做一个偏数据的分享,这些图形会很有帮助。
图形库

一些SVG实现的技术细节
1. 标题“弹..弹.弹”出现的效果
代码如下:

var shape = {};
// 标题的初始位置,大小,字体,描边等	
shape.title = Snap("#water").paper.text(280, -150, document.title).attr({
    fontSize: "60px",
    fontFamily: "microsoft yahei",
    stroke: "#f0f3f9"
});
// 标题以bounce动画呈现,时间1500毫秒
shape.title.animate({
    y: 150
}, 1500, mina.bounce, function() {
    // 副标题显示...	
});

哈,基本上都是使用的Snap.svg提供的API实现。Snap.svg提供的API很全很强大,几乎可以实现任意你想要的效果。

2. 水草效果
这个是在SVG-edit绘制一根水草,尽量少使用贝塞尔曲线(会增加路径复杂度,也就是代码量)。然后复制,或拉伸,或旋转。在Snap.svg中也是对应的clone()以及应用对应的SVG代码中的变换数值。

代码截图如下(一片数字的是路径代码,这个之前文章有介绍过,各个字母对应含义,这是偏图形领域前端必修课):
路径与代码

显然,上面洋洋洒洒代码要自己想还是很费力的,全是使用SVG-edit绘制得到的路径代码,直接粘贴就可以了。

3. 泡泡冒啊冒效果
很简单啦,80%半透明的圆,随机赋予半径,然后固定横坐标,随机间隔时间出现就可以了。知者自知,不知者要深入讲解才知。我老了,讲不动了,pass~

4. 其他大同小异的效果

5. 评论中你想知道的效果实现

舞台与场景切换实现
之前自己做过一个CSS3/HTML5网页版的PPT演示插件zSlide, 点击这里围观。

其中的舞台与场景切换是最贴近真实的PPT的。但是,zSlide的问题在于需要懂HTML的人才能上手使用。当时也没大肆推广,个人觉得还是很有用的。

这里的钓鱼场景切换实际上更简单了,任何方向键操作都是切换一个帧,每个帧上有一些元素。实际上,应该细分场景,每个场景有多个帧。切换时候先是帧切换,然后再是下一个场景。

我发现SVG与PPT中很多元素是一脉相承的。我大致估量了下,借助Snap.svg实现一个简洁版+网页版的PowerPoint效果是绝对可行的。拖一些圆啊,柱状图啊,箭头什么的,加一个文字啊什么的,不要担心尺寸啊缩放什么的,老嗲(dia)了!可惜当下档期已满,可能要明年才有戏实现这个想法。

我一直寻求一直简单快速制作动画片的方式,当下所有实现,包括flash都需要较大时间与较大成本,我发现可以在SVG上找到一点突破口。即人物动画的运动路径能用公式或算法表现,于是就能重复利用,快速实现动画效果,加上HTML5音频,web会更丰富多彩。这个我会慢慢尝试。动画所要用的舞台与场景切换实际上类zSlide. 我自己觉得还是有些处理经验的。

四、从研究员到工匠

有些诸葛亮出山的感觉。寒窗苦读十年,需要的是金榜题名,做出点东西来,否则岂不无用。去年我就意识到了这个个问题,虽然自己倒腾了很多东西,但是能够亮蹭蹭拿出来的东西却没有。没有什么特别好的普世的东西,没有什么突出的贡献,于是,工作之余的精力更多倾向于实现自己各类想法,各种项目计划,自己觉得有意义的事情上。更有工匠的感觉。

理论的高度决定了实践的高度,我觉得自己能够做出很多更有价值的东西,我会继续试着朝这个方向走。Enjoy it!

个人博客,个人吐槽,个人花边。

就这些,欢迎交流,希望有更多非技术层面的交流,建议,idea之类,我老喜欢这些了。

本文为原创文章,但估计没人会转载这篇文章,因此,什么注明出处的话就算了,看着办吧~~
本文地址:http://www.zhangxinxu.com/wordpress/?p=4005

(本篇完)