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

推荐订阅源

S
Secure Thoughts
T
The Exploit Database - CXSecurity.com
W
WeLiveSecurity
S
Security @ Cisco Blogs
Cloudbric
Cloudbric
D
Darknet – Hacking Tools, Hacker News & Cyber Security
N
News and Events Feed by Topic
P
Privacy & Cybersecurity Law Blog
Help Net Security
Help Net Security
L
LINUX DO - 最新话题
H
Hacker News: Front Page
H
Heimdal Security Blog
Google DeepMind News
Google DeepMind News
V
Vulnerabilities – Threatpost
Know Your Adversary
Know Your Adversary
F
Fortinet All Blogs
博客园 - 三生石上(FineUI控件)
Recorded Future
Recorded Future
阮一峰的网络日志
阮一峰的网络日志
T
Tor Project blog
D
DataBreaches.Net
V
Visual Studio Blog
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Stack Overflow Blog
Stack Overflow Blog
GbyAI
GbyAI
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
The Hacker News
The Hacker News
A
Arctic Wolf
大猫的无限游戏
大猫的无限游戏
月光博客
月光博客
P
Proofpoint News Feed
T
Tailwind CSS Blog
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
Scott Helme
Scott Helme
酷 壳 – CoolShell
酷 壳 – CoolShell
SecWiki News
SecWiki News
The Cloudflare Blog
N
News and Events Feed by Topic
宝玉的分享
宝玉的分享
Hacker News - Newest:
Hacker News - Newest: "LLM"
小众软件
小众软件
博客园 - Franky
人人都是产品经理
人人都是产品经理
J
Java Code Geeks
Blog — PlanetScale
Blog — PlanetScale
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Attack and Defense Labs
Attack and Defense Labs
T
Threat Research - Cisco Blogs

囧克斯

奔四了,写给40岁的自己 有序退网 我和 Vue.js 的十年 我参与《代码之外 Beyond Code》的故事 博客站迁移至 VitePress 的备忘 写给我的奶奶 中文格式化小工具 zhlint 及其开发心得 vue-mark-display:用 markdown 语法轻松撰写幻灯片 我对技术会议的一些看法 VueConf Hangzhou 见闻 第四届 CSSConf CN 见闻 [译]Web 表单的未来 [译]苹果正在做一些他们的程序员明摆着不想要的东西 [译]为什么我不会无偿加班且你也不应该 [译]如果管理是唯一可走的路,那就完蛋了 [译]如何撰写 Git 提交信息 [译]C 程序的原则 Vue 2.0 来了! Weex 近 4 个月的开源之路 Weex 在 JS Runtime 内的多实例管理 我理解的 SPA 我理解的 Flux 架构 【整理】Vue 2.0 自 beta 1 到 beta 4 以来的主要更新 通过一张图走进 Vue 2.0 Code Review for Vue 2.0 Preview Vue 2.0 发布啦! 务实的小而美 Vue.js 1.0.0 发布了! [译]如何成为一名卓越的前端工程师 手机淘宝前端的图片相关工作流程梳理 [译]如何让办公室政治最小化 Vue.js 源码学习笔记 从原型到发布——“团队时间线” 1.0 开发心得 Vue + webpack 项目实践 用 Koa 写服务体验 webcomponents 笔记 之 配置管理 小秀个人的13~14年摄影作品 (共19张) 由今年D2前端论坛想到的 [译]CSS命名神马的真心难 [译]Git 分支的最佳实践 [译]撰写可测试的 JavaScript [译]语义化版本管理 [译]通过HTML5 Canvas API调节图像的亮度和颜色 [译]JavaScript V8性能小贴士 [译]视觉差,走起! [译]Chrome开发者工具中评估性能的五大新特性 精气神儿 细节无微不至,彩屏让人又爱又恨——新老“神机”大对决:Nokia 1050 vs Nokia 1202 秦升拿到红牌之后…… 用Sass重新整理自己的博客主题样式 Connect中间件使用手册 巧用 RequireJS Optimizer 给传统的前端项目打包 编辑器小调查结果 [译]JSLint 文档 烟火——写给蛇年的傲游和我 小秀个人的全年摄影作品 (共15张) 2012年终毫无正能量的总结 标签?ID?还是CLASS? 微创新=伪创新 HTML5峰会归来 分享bookmarklet一则:随意阅读 国际羽联和中国队之间的恶性循环 ZeroClipboard 学习笔记 “思考人生” 听杨东杰弹吉他 学习精髓 网站装修笔记20120426 网站装修笔记20120414 网站装修笔记20120406 分享Typecho插件:百度统计助手 我的得奖感言 网站装修笔记20120331 用CSS3制作尖角标签按钮样式 分享Typecho插件:Markdown 解析器 + 编辑器 分享Typecho皮肤:我的字很大 汇总自己过去的一些HTML5科普文章 html5中的消息通信简介 + 我的新网站开张 网站装修计划 Typed Arrays 是神马? 文明看球 HTML5中的文件处理 之 File Writer API HTML5中的文件处理 之 File API 独生子女、互相等和不耐烦 IndexedDB技术简介(四) IndexedDB技术简介(三) IndexedDB技术简介(二) IndexedDB技术简介(一) 把博客的字体进一步调大,同时去掉了侧边栏 “模仿别人是为了找到自己” 写给我未婚妻的2011年 写给自己的2011年 手把手教你入门EaselJS做HTML5动画 “吃了吧,不吃就浪费了” 写给傲游的2011年 所谓专业 写给HTML5的2011年 对HTML5中LocalStorage的一些使用建议 回味一下我2011年看到的最过瘾的5场足球比赛 浅浅浅谈开饭店被顾客吃出“异物”的用户体验 前端的本职
HTML5的视觉方案及其技术简介(上)
勾三股四 · 2011-07-17 · via 囧克斯

本文摘自 勾三股四 更早时期的 不老歌 博客。


自我介绍

主题概要

  • 传统网页视觉体系介绍
  • HTML5带来新的选择
    • Canvas
    • CSS 3
    • SVG
  • 技术介绍
  • 优劣对比
  • 实例展示
  • 修炼之道

传统网页

Web Page → Web App

由于贵公司是游戏公司

所以我们从游戏开始谈起……

传统网页中的“游戏”?

  • 文字游戏 (link)
  • 升级版的文字游戏:“字符游戏”
    • 符号版的“俄罗斯方块” (link)
  • 接下来我们看看传统网页是什么样子的,如何衍进的?

传统文档中的元素

  • 大标题、小标题
  • 段落、列表
  • 多媒体内容(插图/音频/视频)、表格
  • 加粗、斜体、下划线、角标
  • 特殊效果:字号、颜色、背景、跑马灯

网页的亮点元素

  • 书签、链接:建立章节和文档间的联系
  • 表单:最早的交互

更多的样式和版式 (CSS)

  • 样式
    • 边框、边距
    • 特殊文字效果
    • 主题、皮肤的概念陆续出现
  • 版式
    • 文档流布局(横向布局)
    • 浮动布局(纵向布局)
    • 叠层布局(自由布局)
    • 模板的概念陆续出现
  • 网页不再只是“在线版Word文档”了

配套的交互开发 (JavaScript)

  • 管理窗口状态(window/location/screen/history)
  • 管理文档内容(dom)
  • 管理界面样式(style)
  • 管理界面交互(events)
    • 设备:鼠标、键盘
  • 管理表单控件(form)
  • 管理用户数据(cookie)

更多的控制器 (Ajax)

  • 链接逐渐变为按钮
  • 表单提交逐渐变为Ajax Request
  • 站点逐渐变为一个或几个页面

各类插件飘过……

  • Flash、Java、类似的还有Silverlight
  • 音频视频解码、数据加密、本地存储、高级网络通信、高级图像处理等
  • 视频播放、网上银行、大量网页游戏
  • 复制到剪贴板

终于……

贪婪的人类啊!

HTML5横空出世 (Web App)

  • 语义增强 (新增语义化标记/表单扩充/更多输入设备匹配/微格式)
  • 多媒体增强 (视频/音频/编码格式)
  • 通信连接增强 (多进程/Socket/消息提示器)
  • 设备支持增强 (原生拖拽/文件系统管理/地理位置信息)
  • 样式、特效增强:稍后详细介绍
  • 数据管理增强 (本地缓存/本地数据存储/本地数据库)
  • 性能功能增强 (部分属性、接口的优化和改进)

Web真正有了应用的感觉

大量应用横空出世!
Web Game 首当其冲!

以上就是一个前端开发工作者眼中的Web世界

  • 扯了半天跟游戏没有关系的东东,不知道大家是不是快睡着了……
  • 诸位游戏开发工作者是怎么看待Web的呢?

HTML5中的视觉新选择

Canvas/CSS3/SVG

CANVAS

游戏开发者的最爱!

技术介绍和代码实现

  • 实例1:简单的框线绘制 (link)
  • 实例2:使用路径:二次曲线和贝塞尔曲线 (link)
  • 实例3:画布状态管理:记录和恢复 (link)
  • 实例4:导入位图:Image 文件 / DataURI (link)
  • 实例5:动画的做法:擦了画,画了擦 (link)
其它细节
  • 图像合成规则
  • 框线边缘样式
  • 文字绘制
  • 画布变形
  • 像素级操作

Canvas的特点

优点
  • 符合传统游戏开发的习惯
  • 执行效率高
  • 效果绝对统一
  • 可以进行像素级别的雕琢
  • 开发级别非常底层,发挥空间很大
缺陷和其它不确定因素
  • 事件判定的工作比较复杂,需要计算坐标
  • 实现动画的工作比较繁琐,需要深入到每一帧
  • 无法利用任何平台特性(表单控件、系统主题)
  • 是一块真正的“布”

自己动手丰衣足食

实例演示

延伸阅读

继续查看下半部分