@supports是CSS和JavaScript规范中非常有用的补充。对浏览器新功能的检查已经是我们编程中非常常见的必要工作。@supports给我们提供了更底层的支持,而之前多少年我们都是用自定义方法实现。我估计,接下来的几年里,随着flexbox布局的普遍流行,我们将会看到对@support标记更加广泛的使用。
程序员的求职简历应该体现出程序员的技术能力,但几乎所有的简历都是用文字表述的,为什么让简历载体自身成为体现程序员技能的平台呢?如果你还不明白我说的是什么意思,那就看看这个超级酷炫的HTML5互动式程序员求职简历,一定会让你惊异不已。
几个星期前,我发了一条微博说我喜欢返回函数的函数。很快就出现了几个回复,基本是都是….什么东东?!对于一个程序员来说,理解返回函数的函数是一个非常重要的技能,使用它你能节省很多代码,让JavaScript更高效,让你进一步理解JavaScript的强大之处。下面是我写的几个简单的例子,我希望通过它你能理解我所表达的意思。
不管我们对浏览器类型前缀有多么的讨厌,我们都不得不每天面对它,否者有些东西不能正常工作。这些前缀的用法有两种:在CSS里(例如“-moz-”)和在JS里。有一个神奇的X-Tag项目里有一段很聪明的JavaScript脚本,可以用来判断当前使用的是什么前缀——让我来展示它是如何工作的!
CSS伪元素(pseudo-elements)非常的有用——你可以用它制作出CSS三角形,用在提示框上面,还可以用它完成很多简单的任务,而不需要多余的HTML元素。以前,伪元素的CSS属性是无法用JavaScript获取的,但现在,有了一个新的JavaScript方法可以访问它们! 假设你的CSS代码是这样的:
我是一个性情乖戾的web用户,但我想这也帮助促使我成为了一名优秀的Web开发人员。当我看到一个网站上有让人不爽的设计时就会非常的恼怒,一些很简单的东西为什么做不好?下面是5种常见的可用性方面的错误,以及如何纠正这些问题的方法。给自己方便,也与人方便,确保自己不要犯这样的错误。
CSS背景动画很长时间以来都是一个热门话题,很多时候都是因为效果特别绚丽,而且不需要额外的技术。最近有人问我是否可以给页面上一个指定的元素安排多重背景动画,答案是yes….虽然有些限制因素。让我们来看看如何实现这个效果!
CSS类名的结构性和统一性非常的重要,有些程序员喜欢使用首字母大写,有些喜欢用连接线,有些喜欢用下划线。最近我发现的一个非常有意思的东西是,在HTML和CSS里,你可以用Unicode(包括中文)来命名类名。不信咱们就试一下!
有无数的理由要求我们在任何时候都应该知道用户是使用的什么设备浏览我们的网站——宽屏,普通屏,平板,手机?知道这些特征,我们web应用的CSS和JavaScript才能同步做相应的操作。在给Mozilla Developer Networks改版设计的过程中,我发现使用CSS媒体查询(media queries)虽然非常的有效,但有时
这些全屏API都超级的简单,而且超级的有用。我第一次是在MDN’s BananaBread demo中看到这个API的,那是一个枪击游戏,正好需要全屏化,它使用了事件监听来检测全屏状态。记住这些好用的API,需要的时候可以顺手拈来。
动态加载Javascript是一项非常强大且有用的技术。这方面的主题在本站已经讨论了不少,我也经常会在一些个人项目上使用RequireJS和Dojo加载js。它们很强大,但有时候也会得不偿失。如果你使用的是jQuery,它里面有一个内置的方法可以用来加载单个js文件。当你需要延迟加载一些js插件或其它类型的js时,你可以使用这个方法。下面就介绍一下如何使用它!
随着浏览器不断的升级改进,CSS和JavaScript之间的界限越来越模糊。本来它们是负责着完全不同的功能,但最终,它们都属于网页前端技术,它们需要相互密切的合作。我们的网页中都有.js文件和.css文件,但这并不意味着CSS和js是独立不能交互的。下面要讲的这五种JavaScript和CSS共同合作的方法你也许未必知道!
CSS动画非常的有趣;这种技术的美就在于,通过使用很多简单的属性,你能创建出就连皮克斯动画制作公司也会赞叹的漂亮的消隐效果。其中代表性的一种就是CSS图片翻转效果,能让你看到一张卡片的正反两面上的内容。本文就是要用最简单的方法向大家介绍如何创建这种效果。
在一些像维基百科这样的信息类网站上,把外部链接用某种形式标明出来是一种常见的做法。对于浏览者,这能方便的告诉他将访问一个外部资源。很多网站会在服务端检查外部链接,并在链接上加入`rel=external`属性或`external`类来区别这些链接。
起初,IE其实也是一款非常有进取心的浏览器。但经过一段时间的蛰伏后,它已经成为了我们生活中的一道障碍。微软现在又重新开始向其它浏览器发起挑战,但事实情况是,新版的现代IE浏览器一直滞后于谷歌浏览器和火狐浏览器。
进入2014年后,我们这些Web开发者开始慢慢发现需要面对一种困难,就是传统的JavaScript技术开始失效。很多年来我们一直依赖的那些JavaScript技巧技术,在如今CSS3兴起的情况下,很多的特效被浏览器内置的CSS功能替代。以前我们一直需要的一个功能——JS动画中结束时会触发回调函数——现在改用CSS动画后,如何触发这些回调动作?
CSS动画是当前一种非常火爆的技术,我说的并不是一些简单的颜色变换或长短属性变换,我说的是3D变换技术;纯CSS实现的翻滚旋转立方体就是最典型的例子。网上能找到很多关于CSS动画的代码,但对于一个程序员来说,真正理解其为什么会动起来的原理是非常重要的。
Clippy.js 是一个纯JavaScript实现的微软Office卡通助手(也叫做Clippy和它的朋友们),你可以方便的把它嵌入到任何网页上。在下面挑选一个助手,点击相应的动画按钮!我们的最爱是那个可爱的小猫。
打飞字(Z-Type)这是有史以来最酷的一款练习盲打的游戏。视觉效果、射击爆破效果和声音效果都非常的刺激。这款游戏是用HTML5做成的,曾经获得Mozilla Game On游戏大赛的Community Choice Award大奖。玩家可以选择关闭游戏音效,轻按ESC按键便可以暂停游戏。
使用Box-shadow属性表现阴影效果是现代浏览器中是一个非常有用的技巧,通过它我们可以做出很多非常酷的东西。让我们来一步一步的了解box-shadow属性的基本用法,然后进一步了解::before和::after伪元素的用法。
我一直使用printf调试程序,一般来说都是比较顺利,但有时候,你会发现需要更好的方法。下面几个JavaScript技巧相信你一定会觉得十分有用,比如,有时候你会发现DOM不受你的控制,自己会发生一些奇怪的变化,让你很难找出问题的根源。谷歌浏览器的开发工具里有一个超级好用的功能,专门可以对付这种情况,叫做”Break on…”,
如果你能想象出在光线充足的海里拍摄一群水母游动样子,那这里用WebGL技术实现的水母游动的效果绝对会让你以为是一段真实拍摄的视频。不能不佩服作者的技术高超。
相信大家都见到过这样神奇的技术:一副线条构成的画能自动画出自己。非常的酷。Jake Archibald是这种SVG技术的首创者,并且写了一篇非常好的文章来描述它是如何实现的。其实我没有什么好增补的,只是想把这种技术说的更明白些,所以,在这里我要用我的方式把这种技术再讲解一遍。
SVG里属性d里的每一部分都是告诉浏览器生成一个动作——移动到某一个点,开始画一条线,画一个贝齐尔弧线,等等。关于这些数据是如何变成动画,变成一条慢慢画出的线,这是个非常复杂的问题,幸运的是,我们不用考虑这些。我可以使用颜色和设置点的宽度,让SVG路径变成一段一段的点线,并控制点的偏移量:
这是一个很有趣的网页,按住 ↓ 不放,你会经历从天堂到人间到地狱的过程,松开键,你又会经历从地狱到人间道天堂的过程。沿途有很多的景观,走马观花的看吧。
使用浏览器里的WebGL技术逼真模拟水池、水、球、光影的互动变化效果。本演示需要你的电脑有一个相当不错的显卡和最新的显卡驱动。互动效果有:点击水面激起波澜,拖拽页面来旋转视角,使用G键来翻转重力,等等..
html5调用摄像头,然后分析你的脸部。你需要使用谷歌浏览器。你需要开启摄像头。点击右边的图片,看看自己的效果。
用浏览器WebGL技术模拟出的不可思议的海面风浪效果,只用简单的js就完全模拟出了专业软件里才会有的三维模型,并且能够手动调整浪高,风向,风力,海面大小。
不是视频,不是flash,没有用Javascript,没有用HTML5 Canvas,没有用一张图片,所有的鱼、水、石、怪以及动画效果都是用纯CSS3画出来的,真真叫人佩服的五体投地
你什么都不用想,对着键盘狂敲一气,看看会有什么结果?哈哈,肯定会让你大吃一惊——“哈哈,没想到我也是骇客高手了”
HTML5视频+画布(canvas)技术制作的爆裂的视频画面效果演示,使用谷歌浏览器观看效果最佳。 如果视频不能正确播放,请刷新页面,重新加载视频。这段视频来自Big Buck Bunny。
这是我将基于网络摄像头的手势识别技术和Hakim El Hattab开发reveal.js融合到一起的研究成果。我花了很长时间开发和优化调整这个手势识别算法。即使如此,这个算法仍然只有大概80%的准确性。但相信它已经足够让你领略到这种技术的潜力了:
在一个移动信息化和本地化同时存在是世界里,HTML5就成了这两种平台之间的桥梁。HTML5是开发多功能网站和Web应用的未来技术选择。你的编程技术是跟未来软件开发趋势同向而行吗?测一测你的HTML5和CSS3知识有多少,看看你能得多少分。
我在reddit上发现了一张圣诞树动画图片,好奇心驱使我使用JavaScript制作了一个相同效果的树:新年快乐!。祝愿大家在新的一年里心想事成,马到成功!
CSS Transform效果是指通过在浏览器里让网页元素移动、旋转、透明、模糊等方法来实现改变其外观的技术。在CSS里定义的变化动作会在页面生成前应用到网页元素上,所以你看不到发生的过程。然而,这些变化动作也可以由mouseover或其它相似事件触发,这样我们就可以看到它的动作过程。