JavaScript库是一些预先编写好的JavaScript文件集合,用来让JavaScript应用开发更加便捷,尤其是AJAX和其他web开发。JavaScript的最主要用途是编写HTML中嵌入的函数,对页面的DOM(Document Object Model)进行操作。 本文中我们整理了 15 个JavaScript工具,来帮助你提高编码技能,更快、更轻松地完成工作。以下JavaScript工具可以帮助你管理Javascript状态,压缩你的javascript代码,重构script代码结构,等等。我们希望这个工具列表方便而有用。如果你了解其他的javascript工具,请在评论中提出,我们期待你的建议。阅读愉快! 1. JavaScript 状态管理器 Simple State Manager(SSM) 是一个为响应式网站设计的,轻量级而易用的JavaScript状态管理器。它不依赖任何JavaScript框架,是能让页面布局代码更整洁的良伴。你可以设置断点,然后打包全部的JavaScript从这个断点开始执行。一旦遇到了下一个断点,SSM会禁用之前的状态代码,触发执行新的状态代码(所以你不用手动切换)。这个管理器有完整的API,debugger和用于后续扩展的插件支持。 2. jsMini 如果你想快速而方便地压缩你的JavaScript或jQuery文件,用jsMini吧。只需复制粘贴你的源代码,选择基本压缩或是完全压缩,就能得到压缩好的代码。 3. CountUp.js CountUp.js 是一个无依赖,轻量级的JavaScript“类”,用来快速创建有趣的数字显示动画。尽管叫这个名字,countUp可以正数也可以倒数,取决于你传入的 startVal 和 endVal 参数。包括Bower和Component .json文件,并有coffeescript版本。 4. Grasp Grasp帮助你基于代码结构来查找、替换和重构JavaScript代码。它比普通的查找替换更为强大,让重构更方便,并且允许你执行一行的基本宏。 5. Gulp.js Gulp.js 是一款流式(streaming)项目build系统。它使用node.js的stream,主张代码优先于配置,因此使build流程更简单、直观。因为它以代码而不是配置为中心,gulp得以化繁为简,同时简单的工作仍然简单。 利用强大的node.js的stream,可以享受快速的build流程,不需向磁盘写入中间文件。Gulp 严格的插件指导原则保证插件保持简洁,让你得心应手。精简的API帮你迅速上手。从此build流程如同你想象的那样:一系列stream之间的pipe。 6. Orcrad.js Ocrad.js是一个简单的OCR程序,可以识别图片中的文字。它是Ocrad项目的纯JavaScript版,总体大约1MB,不依赖大规模训练。 7. Headroom.js Headroom.js是一个轻量级,高性能的JS widget (不依赖任何框架!) 帮你响应用户对页面的滚动。向下滚动时,header滑出界面;向上滚动时,header滑入回来。Headroom.js帮助你在恰当的时间将元素带入界面,其他时间让用户的注意力集中在页面内容上。应用headroom.js真的很简单。它有纯JS的API,以及可选的兼容jQuery/Zepto和AngularJS的插件. 8. Jiko Jiko 是一个先进和易于使用的JavaScript的模板引擎。它的目的是为JavaScript程序员提供一种能够使用和服务端的艺术模板引擎(如Jinja 和 Mako)一样强大的引擎来编写JS模板的途径。 9. FileAPI FileAPI 是一个庞大的几乎任何与文件有关的JavaScript工具的集合。它提供了单个/多重文件上传的很多功能:支持拖放,图像裁剪、缩放,应用过滤器,获取文件信息和其它一些功能。该工具是独立的,带有一个在服务器端实现处理行为的PHP类。同时,对于不支持(上传和相机)的浏览器可以快速回退。而且它有详细的文档。 10. Object Playground Object Playground 是一个能使JavaScript对象可视化和被实验的工具。它就在你的浏览器中运行,使用很方便。 11. Echo.js Echo 是一个独立的JavaScript图像延迟加载工具。Echo 运行很快,使用HTML5的 data-* 属性。它不支持IE8以下版本。echo.js使图像延迟加载变得很简单,而且压缩代码之后只有不到1KB,而且不依赖于jQuery/Zepto或其他JS库。 延迟加载是只当目标元素要显示在视图中时才加载其所需资源。它只是通过简单地改变图像的src属性就可以自动向服务器发起请求并得到该资源。这也是一个异步过程,有利于加载和浏览。 12. jsComplexity 想知道你的JavaScript代码有多复杂么?用Analysis运行自己看看吧。代码中复杂性存在的越多,出bug的机会越多,所以你所能做的就是简化代码来提升性能及可靠性。 13. Chance.js Chance是一个随机字符串、数字等的简约生成器,它能够帮助减少在编写自动化测试或其他任何需要随机场景时的单一性。Chance是个开源软件,在开发及商用均友好的MIT许可下发布。Chance在本网站上已加载,你可以打开你浏览器console试一下! 14. Bookmarkfiy Bookmarkify 可以使你创建自己的书签脚本工具变得非常简单。只要命名你的书签脚本,然后输入它对应的要执行的代码,执行功能按钮,把结果收藏到书签中就可以了。(译者感觉对于一般比较简单的书签脚本来说完全是画蛇添足,对于某些特殊和代码量较大的脚本可以考虑) 15. David David 是一个让你能得到节点依赖概观的工具。它为每一个依赖的现状创建一个徽章标记来显示。你可以选择把它嵌入在您的网站上。 from:http://www.oschina.net/translate/javascript-tools-improve-your-coding-skills
View Details如果你在寻找能优化网站,使其更具有创造力和视觉冲击的工具,那么这里刚好要介绍能为博客或者网站添彩的 jQuery 插件。在这篇文章中我们手机了一系列的令人兴奋的HTML5 jQuery 插件,帮助你创建更具吸引力,更漂亮的网站和博客。从改善标准 HTML 列表的易用性到在网页上放置 HTML5 驱动的音频播放器,以下的 jQuery 插件能为你的网站提供各种各样强大的功能。好好欣赏下面的 HTML5 jQuery 插件列表吧,希望大家能喜欢这篇文章,在列表中找到对你有用的 jQuery 插件。 1. Dynatable Dynatable 是个 jQuery 插件,能很好的改善标准 HTML 列表的可用性。一旦初始化,插件就会通过列表的行和列转换成 JSON 对象数组,时刻准备操作。它可以提供强大的排序,过滤,分页或者是搜索 API,同时可以用简单的方式处理所有操作,可以被用于其他架构的 HTML 元素,比如 list。 2. Least.js Least.js 创建随机响应式的 HTML5 和 CSS3 图像库,包括 Lazyload。它非常容易安装和使用,而且最终效果都是非常华美和漂亮。 3. Echo.js Echo 是个独立的 JavaScript 延迟加载图像工具。Echo 使用 HTML5 data-* 属性,速度非常的快。Echo 可以在 IE8+ 的浏览器运行, 它是非常简单的图像延迟加载工具,大小最小为 1KB ,是个 library agnostic(没有 jQuery/Zepto/other) Lazy-loading 只会在元素将要被查看时才会请求从服务器中加载图像,通过简单的修改图像 src 属性就可以自动运行。同时这也是异步操作的一个优势所在。 4. Slippery Slippry 是个 jQuery 图像库插件,拥有很多现代化时尚元素。首先,它使用 HTML5-CSS3 标记,在响应式布局(可选)上运行的非常好。它可以变成 Sass 或者是 CSS 样式,有多种转换选择,其中包括 Ken Burns 效果。 滑块可以设置为自动滑动,显示标题,后退-前进+导航控制。它提供重大事件函数的回调,多个示例和一个详细文档。 5. jQuery. Deviantartmuro jQuery.deviantartmuro 是个 jQuery 插件,提供方便的 deviantART muro HTML5 绘制应用的嵌入式 API 封装,允许用户提供图片绘制和编辑的第三方网站。网站上嵌入的 deviantART muro 允许用户从网站传递图片到 […]
View Details网页设计可能是现在最有趣的领域之一了。这块的东西对所有的人,不管是知识储备里有料没料的,都敞开大门,机会多多哦。 其最大的特点就是随着时间的推移,实践的深入,你可以慢慢学习着成为一个大鸟。 涉足这个领域,Google将会是你最好的导师,同时她也将毫无偏颇的对你的水平进行评价。设计并不全是铁定的要为应用程序的创建或者编程语言的一些逻辑应用进行大量的编码工作。她更像是创造力同逻辑代码的结合,从而可以使您开发出可以用美丽来评价的东西。 在网页设计的领域,玩转你手中工具的过程中也蕴藏着巨大的机遇。有趣的是,特定开发者存在的原因就在于并不是每一个人都同时具备编写逻辑代码的技能,并且拥有风格的艺术创造能力。 因此,在这种情况下我们就可以理直气壮的认为拥有两种技能的人机遇最大,他们 在这个领域比其他人更有机会收获成功。现在需要意识到的一个最重要的问题就是一个人类,或者让我称之为人,不会同时拥有所有的素质。这就是为什么从主要的编程语言角度来考虑,我们也会有对开发方面需求的原因。 这意味着更好更新的代码段和工具将会对开发者有帮助。一个开发的部分的 存在,在这个领域中就相应会有大量对新事物的需求,就像我们在这里将要讨论的音频效果。 老实说,向站点中加入音频效果会很有用处,这仍然是目前最好的开发者需要经历的一个发展阶段之一。现在喜爱使用Javascript进行设计的人拥有了发挥音频特性的基础设施,这就证明了它是一个可以推动网页设计向前发展的巨大舞台。这可能是网页设计领域加入的最新的也是最酷的东西之一,并且毫无疑问的事实是它将保持一个更长的发展时期。 1) JavaScript 音频库 – Buzz Buzz 是一个小而强的 Javascript 库,能让你方便的利用上新的 HTML5 音频元素. 在非现代浏览器上它会悄悄的消失掉. 2) JavaScript 音频库 – Timbre js Timbre.js 提供了一种采用像jQuery和node.js采用的那种现代Javascript使用方式来处理和合成音频的功能. 他有许多的 T-Object (正式的称呼是: 音色对象Timbre Object),可以连接起来为整体的音效渲染定义基于图形的路由. 3) JavaScript 音频库 – jPlayer 4) JavaScript 音频库 – Annyang Annyang 是一个可以让你的访问者用语音命令操作你的站点页面的小巧的js库. Annyang 支持多种语言,但是没有其他依赖,仅重2kb,并且免费. 5) JavaScript 音频库 – Sound Manager 2 With the help of在 HTML5 和 Flash 功能的帮助下, SoundManager 2 基于单一的Javascript API提供可靠的跨平台音频支持. 6) JavaScript 音频库 – Plivo Plivo WebSDK 允许你直接从任意的web浏览器发送和接收声音. 他们提供了一个页面 SDK ,而在 SDK 的帮助下你可以创建像 Click to Call, Conferencing Apps 以及甚至像 Webphones 那样的应用程序. 7) JavaScript音频库 – SoundJS Javascript音频库SoundJs提供了简单的API和强大的功能,适合用于处理音频。 8) JavaScript音频库 – jWebAudio Web Audio可以被用于网络应用中声音的处理和同步。jWebAudio隐藏了Web Audio的技术细节,让控制音频变得更容易。 9) JavaScript音频库 – ION Sound 10) Howler js – 现代Javascript网络音频库 11) JavaScript音频库 – Fifer js 12) JavaScript音频库 – Twilio js Twilio.js让你在浏览器和Twilio应用之间建立音频连接。你可以在浏览器里使用主动或被动音频连接,以此构建网络电话、对讲机、网络会议、即时通话系统等等应用。 13) JavaScript音频库 – Audiolet 14) JavaScript音频库 […]
View DetailsCSS3对于前端工程师来说,越来越重要了。有很多CSS3的效果真的不需我们自己一个一个 去写,在这种情况就互联网上有关于CSS3的工具就出现了,这些工具将给你的制作节省很 多时间,让你有更多的时间去做自己想要做的事情。 CSS Animatie CSS Animatie是一款在线制作CSS3动画的工具,可以在线直接制作CSS3动画效果,生成代码。 http://cssanimate.com/ Long Shadows Generate Long Shadows Generate是一款在线使用纯CSS3实现长阴影的效果,一款强大的扁平化长投影制造器。 http://sandbox.juan-i.com/longshadows/ Fontastic Fontastic是一个在线生成字体图标的app,可以定制属于自己的图标字体。 http://fontastic.me/ Screensiz.es Screensiz.es站收集整理了移动端的相关尺寸。 http://screensiz.es/phone Live Tools Live Tools是一个UI制作工具,他提供了按钮、表单、icon图标和Ribbons的制作工具, 可以在线配置相关参数,生成你需要的效果代码。 http://livetools.uiparade.com/index.html Button Generator 生成和图片效果一样的按钮工具。 http://www.cssbuttongenerator.com/ @FONT-FACE GENERATOR @FONT-FACE GENERATOR只需其中一种字体,就可以帮我们转换成@font-face各浏览器 下所需的所有字体格式。只是中文字体太大,不太好用。 http://www.fontsquirrel.com/tools/webfont-generator @font-face ICON图标 ICON使用@font-face制作是越来越普遍了,但有一些icon字体库有几个icon,而往往我 们有时候只需要其中的几个,加载所有的icon感觉浪费,其实没有必要这么做的,在线 有两个网站,上面提供了各种字体icon库,我们只需要选择其中的部分,进行安装就OK了。 http://fontello.com/ http://icomoon.io/app/#/select Ultimate CSS Gradient Generator Ultimate CSS Gradient Generator真心的好用,是我常用的一个在线制作渐变的工具, 他除了类似于photoshop的渐变工具之外,还是firefox和chrome浏览器的一个插件。而 且还能生成兼容IE的滤镜代码,好强大的。 http://www.colorzilla.com/gradient-editor/ Pageblox Pageblox是一款在线生成布局的工具,提供了七种常见的布局模式,而且还可以根据自 己的需求做一些自定义的设置。 https://www.pageblox.com/generate CSS Load CSS Load是一款纯代码制作loading的工具。 http://www.w3cplus.com/source/front-end-developer-excellent-tool.html […]
View Details这篇文章介绍的是 10 款最棒而且又很有用的 jQuery 日历插件,允许开发者们把这些漂亮的日历插件结合到自己的网站中。这些日历插件易用性都很强,轻轻松松的就可以把漂亮的日历插件装饰到你的网站了。希望下 面的插件列表能给予你一定的帮助,让你的 web 开发更快更好。旧版本的日历插件和下拉框已经被淘汰啦,好好欣赏 jQuery 日历插件给你带来的强烈视觉冲击吧! 1. CLNDR.js CLNDR.js 是一个日历插件,用来创建日历,允许用户随意的按照自己的想法去自定义日历。这个插件不会生成任何的标记,但是可以使用数据来填充 Underscore.js HTML 模版(产生下划线)。它提供一些很有帮助的选项,确定星期的推移,初始加载时显示日历,点击事件(像 下一个或者是前一个月)等等功能。 2. jQuery Verbose Calendar jQuery Verbose Calendar 是个日历插件,,提供优雅的用户界面和轻松的日期滚动切换。它同时显示一年的所有月份和具体日期。一旦加载就会自动滚动到“今天”并显示当天的日期,需要 鼠标放在日期上面才会提示是星期几。除此之外,这款日历插件可以通过单个函数插入到任何 HTML 元素中。虽然这款插件只有很少的参数可以自定义,但是当点击日期的时候可以添加自定义的回调内容。 3. wdCalendar wdCalendar (JQuery Event Calendar Plugin)是 Google Calendar 的一个克隆,基于jQuery实现。包含Google日历的大部分功能包括:提供按天/周/月查看视图;支持通过拖拉的方式创建/更新 /删除事件;功能丰富的 API;易于给合数据库一起使用。通常,处理持续很多天的事件是很复杂的,但是 wdCalendar 能在这些都做的很好! 4. CalendarPicker CalendarPicker 是一个 jQuery 插件,用来创建好看的外观和漂亮的原始日期选择器。它提供多个下一个或者上一个日期,月份或者是年份的选择,可以快速的选择相应的日期。除此之外,它支持 鼠标滚轮滚动的来控制上一个或者下一个按钮(使用鼠标滚轮插件)。日期选择器会默认显示当前的日期,或者加载任何一个已经选择的日期。日期和月份的名字是 可选的,用户可以自定义相应的漂亮多语言界面。 5. jMonthCalendar jMonthCalendar 是显示整整一个月的日历,支持添加相应的事件。用户可以用选项和简单的事件数组来初始化日历,后面的事情就可以交给 jMonthCalendar 了。这是个 jQuery 日历插件,带有扩展的功能,允许开发者与日历有很好的交互,比如当日历显示要修改月份的时候,或者是显示修改后的月份和点击日历事件之后。 jMonthCalender 现在支持 hover 扩展功能,鼠标在事件徘徊的时候就会触发事件。默认的时候,时间都会伴随有 URL 超链接,用户点击可以链接到详细信息的页面。 6. Full Calendar FullCalendar 是个jQuery 插件,提供完整大小的,可拖拽的日历,就像上图一样的日历。它使用 AJAX 来获取每月事件的动态i,而且很容易使用自己喜欢的格式去配置日历(Google Calendar 提供的扩展功能)。用户可以自定义它的外观,自定义触发事件之后的行为(比如,点击,拖拽事件等等)。 7. Cal-Heatmap Cal-Heatmap 是个 javascript 模块,用来创建日历热图。这个模块可以帮助用户创建一个日历,就像 github 用户的贡献日历一样,不同的是 Cal-Heatmap 有导航和其他很多的数据格式控件。 8. gIDatePicker glDatePicker 是个简单,自定义,轻量级的日期选择器 jQuery 日历插件。gIDatePicker 压缩之后大小只有 4KB(没压缩是 11 KB)。它包括了前进和后退导航,当前日期高亮显示,限制日期的选择,每个日期选择器都有各自的风格,显示用户当前选择的日期。 9. jQuery Frontier Calendar […]
View Details下面是用HTML5的<canvas>标签写的一个视差滚动动画的示例。采用了制作动画或者游戏编程中常用的双缓冲技术:获取到页面中的Canvas对象之后,创建了一个与页面Canvas同样大小的Canvas对象。绘图时先将图像绘制到缓冲Canvas中,等到每一桢的图像绘制完全后在把整个缓冲Canvas绘制到页面Canvas中。前景、中景、远景的视差通过控制移动速度来实现。整个动画的绘制部分只使用了Context对象的drawImage()方法。 HTML code:
1 2 3 |
<canvas id="canvas" width="600" height="400"> <p>Your browser does not support the canvas element</p> </canvas> |
JavaScript code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
const FPS = 30; const SECONDS_BETWEEN_FRAMES = 1 / FPS; var bg0 = new Image(); var bg1 = new Image(); var bg2 = new Image(); var x = 0; const RATE = 50 * SECONDS_BETWEEN_FRAMES; const WIDTH = 600; const HEIGHT = 320; var canvas; var canvasBuffer; var context; var contextBuffer; window.onload = init; function init() { bg0.src = "b0.png"; bg1.src = "b1.png"; bg2.src = "b2.png"; canvas = document.getElementById("canvas"); canvasBuffer = document.createElement("canvas"); canvasBuffer.width = canvas.width; canvasBuffer.height = canvas.height; context = canvas.getContext("2d"); contextBuffer = canvasBuffer.getContext("2d"); context.clearRect(0, 0, canvas.width, canvas.height) contextBuffer.clearRect(0, 0, canvasBuffer.width, canvasBuffer.height); setInterval(animation, SECONDS_BETWEEN_FRAMES); } function animation() { x += RATE; context.clearRect(0, 0, canvas.width, canvas.height) contextBuffer.clearRect(0, 0, canvasBuffer.width, canvasBuffer.height); drawBuffer(bg0, 0, 0, 0.5); drawBuffer(bg1, 0, 100, 0.75); drawBuffer(bg2, 0, 100, 1); context.drawImage(canvasBuffer, 0, 0); } function drawBuffer(image, dx, dy, factor) { var left = (x * factor) % image.width; if (left + WIDTH >= image.width) { var d0 = image.width – left; var d1 = WIDTH – d0; contextBuffer.drawImage(image, left, 0, d0, HEIGHT, dx, dy, d0, HEIGHT); contextBuffer.drawImage(image, 0, 0, d1, HEIGHT, dx + d0, dy, d1, HEIGHT); } else { contextBuffer.drawImage(image, left, 0, WIDTH, HEIGHT, dx, dy, WIDTH, HEIGHT); } } |
其中的setInternal()方法是动画动起来的核心方法。其原型如下: int setInternal(code, millisec[, lang]); 其中code表示需要循环执行的代码或者方法(名),必需;millisec表示周期性循环的周期,单位是毫秒,必需;lang表示脚本语言的类型,如JScript、VBScript、JavaScript,可选,不过一般都直接忽略。返回值为一个可以传递给clearInternal()方法的值,从而取消循环。 setInternal()方法是HTML DOM的一个内建方法,其作用是按照指定的周期循环调用某一段代码或者某个方法,直到窗口关闭或者调用clearInternal()方法结束循环。 顺带一提的是在Canvas画布中绘制图形,一般情况下后绘制的会覆盖先绘制的,所以在绘制图像的时候需要先绘制远景b0,再绘制中景b1,最后绘制近景b2。 下载示例 转自:http://blog.csdn.net/sadfishsc/article/details/6877981
View Details自从 2011 年 Mark Otto 和 Jacob Thornton 开发了 Bootstrap,我们第一次接触并熟知了 Bootstrap 。这些都归功于 Twitter!从那以后,它就非常流行并且成为了最好的响应式框架之一。Bootstrap 帮助开发者快速高效的开启大量新的 web 项目,受到了广大开发者们的青睐。 为了照顾那些不是很熟悉 Bootstrap 但是又想继续深入了解的开发者,我们在这里简单的介绍一下。Bootstrap 是一个 pre-styled 组件的扩展库,有着大量的附件和非常好用的插件,可以帮助开发者们快速的开始他们的新项目。 好了,回归今天的主题,这里介绍的是 15 款最好的 Bootstrap 设计工具和资源,也可以说是 UI 编辑器或者是在线编辑工具。这些超棒的 Bootstrap UI 编辑器允许开发者们自定义设计框架,实现他们心中每个关于 web 的设想。 下面的列表就是精心挑选好的超棒 Bootstrap UI 编辑器,分享给所有的开发者和喜爱 Bootstrap 的朋友,不用再为找不到合适的 Bootstrap 设计工具而烦恼,也不用在众多 Bootstrap 设计工具中徘徊迷茫了!好好阅读下面的列表,找到适合你的那一款 Bootstrap UI 编辑器吧:) 1. Bootstrap Magic 这是一个 Bootstrap 主题生成器,使用最新的 Bootstrap 3 版本和 Angular JS 版本,提供一个鲜活的用户修改预览。它包括了各种各样的导入,一个颜色选择器和智能的预先输入。更神奇的是,Bootstrap 会根据用户的每个选择来重新简历框架,方便用户的下载和使用。 2. BootSwatchr BootSwatchr 是由 Drew Strickiand 独立开发和维护的,是唯一支持从右到左语言显示的 Bootstrap 自定义构建工具,这也是它的特色之一。BootSwatchr 是个可视化的工具,可以从底层开始创建 Bootstrap 主题。 3. Bootstrap Live Editor Bootstrap Live Editor 是个所见即所得的构建 Bootstrap 的编辑器。在 Bootstrap 准备好的内容和代码片段的基础上提供一个又好又优雅的方法来编辑和美化 html,也因此它是个明智的选择。除此之外,它还包括高级的选项比如按钮配置,自定义标签和为用户做最明智最有益的选择。 4. Fancy Boot Fancyboot 是个非常有用的 Bootstrap 自定义工具,允许用户编辑 […]
View Details1) Google – Web Designer 2) SpriteBox 3) Xray 4) Chrome – Ajax Animation 一个 HTML5 的强大的基于 Web 的动画套件,原本是考虑作为可在线使用的 Flash 替代品,但目前其已经完全支持离线模式。 5) Wix 6) Dunked 7) HTML5 Audio Maker 8) Speakker 9) Sketchtoy 10) SVG to Canvas 转自:http://www.oschina.net/news/47880/great-online-html5-tools-for-web-designers
View Detailshttp://www.fontsquirrel.com/fontface @font-face是CSS3中的一个模块,他主要是把自己定义的Web字体嵌入到你的网页中,随着@font-face模块的出现,我们在Web的开发中使用字体不怕只能使用Web安全字体,你们当中或许有许多人会不自然的问,这样的东西IE能支持吗?当我告诉大家@font-face这个功能早在IE4就支持了你肯定会感到惊讶。我的Blog就使用了许多这样的自定义Web字体,比如说首页的Logo,Tags以及页面中的手写英文体,很多朋友问我如何使用,能让自己的页面也支持这样的自定义字体,一句话这些都是@font-face实现的,为了能让更多的朋友知道如何使用他,今天我主要把自己的一点学习过程贴上来和大家分享。 首先我们一起来看看@font-face的语法规则: @font-face { font-family: <YourWebFontName>; src: <source> [<format>][,<source> [<format>]]*; [font-weight: <weight>]; [font-style: <style>]; } 取值说明 YourWebFontName:此值指的就是你自定义的字体名称,最好是使用你下载的默认字体,他将被引用到你的Web元素中的font-family。如“font-family:"YourWebFontName";” source:此值指的是你自定义的字体的存放路径,可以是相对路径也可以是绝路径; format:此值指的是你自定义的字体的格式,主要用来帮助浏览器识别,其值主要有以下几种类型:truetype,opentype,truetype-aat,embedded-opentype,avg等; weight和style:这两个值大家一定很熟悉,weight定义字体是否为粗体,style主要定义字体样式,如斜体。 兼容浏览器 说到浏览器对@font-face的兼容问题,这里涉及到一个字体format的问题,因为不同的浏览器对字体格式支持是不一致的,这样大家有必要了解一下,各种版本的浏览器支持什么样的字体,前面也简单带到了有关字体的几种格式,下面我就分别说一下这个问题,让大家心里有一个概念: 一、TureTpe(.ttf)格式: .ttf字体是Windows和Mac的最常见的字体,是一种RAW格式,因此他不为网站优化,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome4+,Safari3+,Opera10+,iOS Mobile Safari4.2+】; 二、OpenType(.otf)格式: .otf字体被认为是一种原始的字体格式,其内置在TureType的基础上,所以也提供了更多的功能,支持这种字体的浏览器有【Firefox3.5+,Chrome4.0+,Safari3.1+,Opera10.0+,iOS Mobile Safari4.2+】; 三、Web Open Font Format(.woff)格式: .woff字体是Web字体中最佳格式,他是一个开放的TrueType/OpenType的压缩版本,同时也支持元数据包的分离,支持这种字体的浏览器有【IE9+,Firefox3.5+,Chrome6+,Safari3.6+,Opera11.1+】; 四、Embedded Open Type(.eot)格式: .eot字体是IE专用字体,可以从TrueType创建此格式字体,支持这种字体的浏览器有【IE4+】; 五、SVG(.svg)格式: .svg字体是基于SVG字体渲染的一种格式,支持这种字体的浏览器有【Chrome4+,Safari3.1+,Opera10.0+,iOS Mobile Safari3.2+】。 这就意味着在@font-face中我们至少需要.woff,.eot两种格式字体,甚至还需要.svg等字体达到更多种浏览版本的支持。 为了使@font-face达到更多的浏览器支持,Paul Irish写了一个独特的@font-face语法叫Bulletproof @font-face:
1 2 3 4 5 |
@font-face { font-family: 'YourWebFontName'; src: url('YourWebFontName.eot?') format('eot');/*IE*/ src:url('YourWebFontName.woff') format('woff'), url('YourWebFontName.ttf') format('truetype');/*non-IE*/ } |
但为了让各多的浏览器支持,你也可以写成:
1 2 3 4 5 6 7 8 |
@font-face { font-family: 'YourWebFontName'; src: url('YourWebFontName.eot'); /* IE9 Compat Modes */ src: url('YourWebFontName.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */ url('YourWebFontName.woff') format('woff'), /* Modern Browsers */ url('YourWebFontName.ttf') format('truetype'), /* Safari, Android, iOS */ url('YourWebFontName.svg#YourWebFontName') format('svg'); /* Legacy iOS */ } |
说了这么多空洞的理论知识,大家一定有点心痒痒了,那么我们先来看看W3CPLUS首页中导航部分的兰色字体是如何实现的,假如我们有一个这样的DOM标签,需要应用自定义字体: HTML Code: <h2 class="neuesDemo">Neues Bauen Demo</h2> 通过@font-face来定义自己的Web Font: @font-face { font-family: 'NeuesBauenDemo'; src: url('../fonts/neues_bauen_demo-webfont.eot'); src: url('../fonts/neues_bauen_demo-webfont.eot?#iefix') format(’embedded-opentype'), url('../fonts/neues_bauen_demo-webfont.woff') format('woff'), url('../fonts/neues_bauen_demo-webfont.ttf') format('truetype'), url('../fonts/neues_bauen_demo-webfont.svg#NeuesBauenDemo') format('svg'); font-weight: normal; font-style: normal; } 我在这里采用的是相对路径,当然大家也可以使用绝路径。到这里我们就需要把定义好的字体应用到我们实际页面中去: h2.neuesDemo { font-family: 'NeuesBauenDemo' } 效果: 看到上面的效果,我想大家会感到@font-face很神奇,同时也想争着做做看,可是一动手才发现,特殊字体我要怎样才能得到,那些.eot,.woff,.ttf,.svg这些字体格式又怎么获取呢?有些朋友可能就不知道如何运手了,那么我们就带着这些问题来一个全程完成的实例吧: 一、获取特殊字体: […]
View Details新的一年刚刚开启, Zing 设计团队认为这是一个很好的时间来回顾 2013 年 web 的设计场景,同时也对 2014 的 web 设计趋势做了些分析,总结出了十大网页设计趋势和预测,希望能给大家一些启发:) 1. 大背景图片 大背景图片(Large hero areas),是从印刷设计中借来的专业术语,指包含少量文字内容、位于网站顶部的图片。在很多网站上,你可以发现现 在 web 设计师们放弃曾经喜欢滑块轮播设计风格,转向了大背景图片设计风格,以大标题为中心,并配以简单模糊的图片为背景,有的则是精心设计的插图,可以前往Lateral inc 和 Focus Lab 查看漂亮的典型示例。 从滑块轮播到大背景图片的转换最大的原因就是大背景图片更能抓住用户的注意力,吸引他们继续探索网站的其他页面。这个趋势越来越流行,并且没有丝毫停顿的节奏,这必将是 2014 年 web 设计的潮流与大趋势! 2. 更多视频内容 越来越多的网页使用视频替代文字去诠释新技术新概念,随着 YouTube 和 Kickstarter 越来越流行,互联网用户也更倾向于观看视频而不是阅览文字。有更好的方式为什么不去使用?视频提供独特的文字和图片组合,能在短时间内更好的传达新的想 法。很重要的一点,视频也能帮助提升在搜索引擎的排名,例如 Google。 有人会说,视频会消耗很多内存空间和流量,但是当今科技发展迅速,带宽限制在不断提高,允许快速的下载和提供大量的流量。所以就目前而言,视频绝对是 2014 年持续增长的趋势。同时,另外一个有趣的地方是,很多网站已经趋向于自己保管,管理和控制视频,而不再是依赖于 youtube 上面的视频了。 3. 扁平化 UI 设计 她的大名就是摇晃,这么说当然有充分的理由。扁平化 UI 设计拿到了 skeuomorphic design 的宝座,这是一个新数字世界的入门指引。现在我们理解了庞大的互联网世界是怎么工作的,我们就需要抛开废弃的东西——现在是时候抛开一切外物来单纯的讨论根源了。 扁平化 UI 也许是跳过 skeuomorphic 时期的开发者第一次接触的 web 设计风格。大多数是通过 iPad 或者是电子阅读器来接触扁平化 UI 设计的,也可能是当他们拿到他们的第一部智能手机的时候,就如同 UX 和 UI 设计者知道也确信新用户可以在应用商店接触到扁平化的设计。 去年,曾预测Apple将会动摇其拟真设计(Skeuomorphism)。iOS7的发布带来了所谓的“扁平化设计”,该设计丢弃了阴影及渐变效果,使 某些元素获得了视觉上的升级。 长期以来,Apple一直引领着设计的时代潮流,它所做的任何事情,都会引来世界的追随。iOS7发布不久,每天都会有很多具有“扁平化设计”风格的网站 上线。早期的扁平化 UI 设计开始时有很多创新的空间,所以在 2014 年,我们预测 web 设计风格将会更直观,简单,界面平面化! 4. 更简单的导航和空白使用 扁平化 UI 设计的引入给网站创建了空白的区域,没错,就是空白。空白空间提供了清晰简洁的风格,使网页更容易保留,而且提高可读性。这里是一些很受欢迎的空白使用示例: Exposure, Hello Monday 和FoundryCo. 创建这些空白空间的时候,我们也注意到了页面导航和侧边栏。页面导航会变得更简单,侧边栏可能会在某些时候被放弃。设想一下:你正在阅读一篇整齐、悦目, 没有任何其他干扰信息的文章。设计师通过去除那些分散用户注意力及扩展性的内容,努力打造更愉悦的阅读体验。这种是一种极受欢迎的改变,一种用户期望继续 保持的趋势。在 2014 年,我们预测更多的网页将会变得更简洁并且会更好的使用空白区域。 FoundryCo 的白色空间使用 5. 朴素的视差效果 web 视差效果设计创建了一种 […]
View Details