设计师的框架

分类: 未分类 | 1 Comment »
发布于

by Jeff Croft

翻译:qing

原文地址:http://www.alistapart.com/articles/frameworksfordesigners

近来,在Web开发中”框架”是一个相当时髦的词。比如JavaScript 框架 YUI、 JQuery和Prototype 都引起广泛的关注, Web应用框架Rails and Dojo 更是引人瞩目,仿佛所有人都使用某种框架来开发自己的网站。但究竟什么是框架?是不是框架仅仅是对程序员有用,设计师是否可以从中收益?

什么是框架?

为了便于沟通,我们给“框架”统一一个定义(至少在本篇文章中是统一的):一套包含工具、函数库、约定,以及尝试从常用任务中抽象出可以复用的通用模块,目标是使设计师和开发人员把重点放在任务项目所特有的方面,避免重复开发。通常的讲,框架就是上面提到的JavaScript框架和Web应用框架。

需要强调说明的是,我们不必讨论构造、打包发布,相反,一个框架只为你或你的团队使用即可。 感兴趣?阅读全文 »

标签 :

70个流行的AJAX应用的演示和源码下载

分类: web前端 | 没有评论 »
发布于
  1. Ajallerix : AJAX, simple, fast Web image gallery demo ; at Novell
  2. AJAX - microlink pattern tutorial : A microlink is a link that opens up content below it.
  3. Ajax BBC News RSS Reader : demo by Nigel Crawley
  4. AJAX Chat in Python with Dojo : at AquaAjax
  5. Ajax Chess : multiplayer chess
  6. Ajax examples at BackBase : examples demonstrating several aspects of the Backbase technology.
  7. Ajax examples at Rico : Inner HTML, JavaScript updater etc.
  8. Ajax examples using ColdFusionMX, SQLServer, SOAP : Contact Manager, NOAA 7 Day Forecast code and demos.
  9. Ajax Feed TV : News feed
  10. Ajax inline dictionary : Highlight any text on this site then right click. A tooltip containing the definition of the selected word should show up.
  11. Ajaxload : Ajax loading gif generator.
  12. Ajax Login Demo : Creating a secure login system using XMLHttpRequest
  13. Ajax Newsletter Signup : A newsletter signup form that shows Thank You on the same page. 感兴趣?阅读全文 »

标签 :

CSS锦囊

分类: 未分类 | 没有评论 »
发布于

出处:onestab.net

翻译:onestab
原文:mezzoblue CSS Crib Sheet
在使用CSS建站时,您肯定遇到过形形色色的布局问题,最后可能被搞得焦头烂额。本文的目的是让您的设计过程更为容易,当您遇到困难时为您提供快速参考。
如果您有所补充,请在这里发表您的意见
本文的其他语言版:法语德语西班牙语匈牙利语。欢迎提供其他翻译。
有疑问,先验证
在调试时,先对您的代码进行验证往往能省去不少麻烦事。格式不正确的XHTML/CSS 会导致许多布局上的错误。
在其他浏览器中进行测试之前,请先在最先进的浏览器中撰写和测试CSS代码,而不是相反。
如果您在破旧的浏览器中编写和测试,你的代码就不得不依赖那个破旧浏览器的糟糕的显示,然后在符合标准的浏览器中进行测试,看到显示结果不正常时,你会很沮丧的。相反,您应该先将您的代码完善,然后再设法为较低级的浏览器打算。这样从一开始您的代码就是符合标准的,你不必再为支持其他浏览器而劳心费神。当然了,目前遵从标准的浏览器无疑就是 Mozilla, Safari Opera
确保您想要的效果真的存在
许多特定的浏览器专有的CSS扩展在正式标准中并不存在。 如果您对 filter(滤镜) 或滚动条指定样式,您用的就是私有代码,除了IE之外,在别的浏览器中毫无作用。如果验证器告诉您代码没有定义,极有可能您用了私有样式,别指望在不同的浏览器中得到一致的效果。
如果布局中一定要用浮动对象,别忘了适时使用清除(clear)属性。
浮动元素似易实难,而且难以驾驭。如果您发现浮动对象伸出了容器的边界,或者不像您所期望的那样显示,请检查您的期望是否正确。关于这个问题请看Eric Meyer 的教程
边距的合并:可用padding border 来避免。
您可能被多余的(或者想要却不出现的)空白搞得焦头烂额。如果您用了 margins,边距的合并可能就是问题的根源。 Andy Budd 对此的解释也许能为你解惑。
避免将 padding/border 和固定宽度同时应用到同一元素。
IE5
错误的区块模型是罪魁祸首,是它把事情弄得乱七八糟。虽然有补救方案,不过最好是绕过这个问题,当子元素的宽度固定时,为其父元素指定 padding
避免IE下未指定样式内容的闪烁。
如果您用 @import 来输入外部样式表,早晚会发现IE闪烁的毛病。在应用CSS样式之前,未格式化的HTML文本会短暂地出现。这是可以避免的
别指望 min-width IE中有用。
IE
不支持它,但是它将 width 当作 min-width,所以通过一些 IE 的过滤技巧(filtering),可以实现同样的最终效果。
走投无路时,试一试减少宽度
由于舍入误差,有时 50% 加上 50% 等于 100.1%,破坏某些浏览器中的布局。不妨试试将 50% 减到 49%,甚至 49.9%
IE 中显示不正常?
可能是 Peekaboo 臭虫在作怪,尤其是当鼠标经过超链接时能显示正常。修补方法见Position is Everything
如果使用了锚点,在应用超链接样式时要特别小心。
如果您在代码中使用了传统的锚点(),您会注意到 :hover :active 伪类也会作用于它。要避免这种情形,你可以使用 id,或者使用鲜为人知的
语法: :link:hover, :link:active
记住“LoVe/HAte”(爱/恨)链接规则
要以下面的顺序指定超链接伪类:Link, Visited, Hover, Acitve。任何其他顺序都不妥当。假如用了 :focus,次序应为 LVHFA“Lord Vader’s Handle Formerly Anakin”Matt Haughey 这样建议)。
请记住“TRouBLED”(麻烦的)边框。
边框(border)、边距(margin)和补白(padding)的简写次序为:顺时针方向从上开始,即 Top, Right, Bottom, Left。比如 margin: 0 1px 3px 5px;表示上边距为零,右边距为1px,依此类推。
非零值要指明单位。
在用CSS指定字体、边距或大小时,必须指明所用的单位(唯一的例外是 line-height,很奇怪,它不需要单位)。某些浏览器对未指明单位的处理方法不足为凭。零就是零,不管是 px 还是 em。其他的非零值都要明确指定单位。例如: padding: 0 2px 0 1em;
测试不同的字体大小。
Mozilla Opera 这样的高级浏览器都允许你改变字体大小,不管你用什么字体单位。某些用户的默认字体大小肯定和你的不同,尽最大努力去满足他们。
测试时用嵌入式样式,发布时再改为外部输入。
将样式表嵌入在你的 HTML 源代码中,在测试时可以消除许多缓存引起的错误,尤其是某些 Mac 下的浏览器。但在发布前,一定要记住将样式表移到外部文件,用 @import 或 引入。
加上明显的边框有助于布局调试。
div {border: solid 1px #f00;} 之类的全局规则可以暂时为你查出布局问题。为特定的元素加上边框可帮您找到难以发觉的重叠或空白问题。
图片路径不要用单引号。
当设置背景图片时,要坚持用双引号。尽管看起来好像多此一举,但是如果不这么做,IE5/Mac 会噎住。
不要为将来的样式表(比如手持式设备或打印用样式表)占位子
Mac IE5
对空的样式表比较感冒,会增加页面的装入时间。建议样式表中至少应该有一条规则(哪怕是注释也好),免得Mac IE噎住。
还有一些建议虽然不针对某些功能,但是在开发过程中值得注意:
好好组织您的CSS文件
恰当地成块注释CSS,将相似的CSS选择符编为一组,养成一致的命名习惯和空白格式(为跨平台考虑,建议用空白字符而不是 tab。)以及适当的次序。
以功能(而不是外观)为类和ID命名
假如您创建了一个 .smallblue 类,后来打算将文字改大,颜色变为红色,这个类名就不再有任何意义了。相反,您可以用更有描述性的名字如 .copyright .pullquote
组合选择符
保持CSS短小对减少下载时间非常重要。请尽量为选择符分组、 利用继承(inheritance)以及使用简写(shorthand)来减少冗余。
使用图片替换技术时要考虑亲和力
已经发现传统的FIR在屏幕阅读器,以及关闭图片显示[的浏览器]中会出问题。对此有其他解决办法,要根据具体情况,慎重使用。

标签 :

WEB标准

分类: 未分类 | 没有评论 »
发布于

WEB标准不是某一个标准,而是一系列标准的集合。网页主要由三部分组成:结构(Structure)、表现(Presentation)和行为(Behavior)。对应的标准也分三方面:结构化标准语言主要包括XHTMLXML,表现标准语言主要包括CSS,行为标准主要包括对象模型(如W3C DOM)、ECMAScript等。这些标准大部分由W3C起草和发布,也有一些是其他标准组织制订的标准,比如ECMAEuropean Computer Manufacturers Association)的ECMAScript标准。我们来简单了解一下这些标准:

1.结构标准语言

1XML

XMLThe Extensible Markup Language(可扩展标识语言)的简写。目前推荐遵循的是W3C2000106日发布的XML1.0,参考(www.w3.org/TR/2000/REC-XML-20001006)。和HTML一样,XML同样来源于SGML,但XML是一种能定义其他语言的语。XML最初设计的目的是弥补HTML的不足,以强大的扩展性满足网络信息发布的需要,后来逐渐用于网络数据的转换和描述。关于XML的好处和技术规范细节这里就不多说了,网上有很多资料,也有很多书籍可以参考。

2XHTML

XHTMLThe Extensible HyperText Markup Language可扩展标识语言的缩写。目前推荐遵循的是W3C2000126日推荐XML1.0(参考http://www.w3.org/TR/xhtml1)。XML虽然数据转换能力强大,完全可以替代HTML,但面对成千上万已有的站点,直接采用XML还为时过早。因此,我们在HTML4.0的基础上,用XML的规则对其进行扩展,得到了XHTML。简单的说,建立XHTML的目的就是实现HTMLXML的过渡。

2. 表现标准语言

CSSCascading Style Sheets层叠样式表的缩写。目前推荐遵循的是W3C1998512日推荐CSS2(参考http://www.w3.org/TR/CSS2/)。W3C创建CSS标准的目的是以CSS取代HTML表格式布局、帧和其他表现的语言。纯CSS布局与结构式XHTML相结合能帮助设计师分离外观与结构,使站点的访问及维护更加容易。

3.行为标准

1DOM

DOMDocument Object Model文档对象模型的缩写。根据W3C DOM规范(http://www.w3.org/DOM/),DOM是一种与浏览器,平台,语言的接口,使得你可以访问页面其他的标准组件。简单理解,DOM解决了NetscapedJavascriptMicrosoftJscript之间的冲突,给予web设计师和开发者一个标准的方法,让他们来访问他们站点中的数据、脚本和表现层对像。

(2) ECMAScript

ECMAScriptECMA(European Computer Manufacturers Association)制定的标准脚本语言(JAVAScript)。目前推荐遵循的是ECMAScript 262http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM)。

标签 :

中文 Web 阅读体验(转)

分类: 用户体验 | 没有评论 »
发布于

关于制造中文 Web 阅读体验过程中的一些思考结论。
正文字体的尺寸应该使用固定的偶数像素单位,如 12px,14px,16px 等,一个例外情况就是 15px 像素也是相当不错的正文字体的尺寸。由于中文 Windows 操作系统及部分的 Linux 发行版使用的是像素字库,因此,这几个尺寸的字体在显示效果上最佳。而在 Mac OS X 上,因为 Mac OS X 使用的是矢量字库,则在各种尺寸下显示效果都不错。另外就是,Mac OS X 的中文矢量字库中内嵌了 12px 的像素字库。
blockquote、ol、ul 等 HTML 元素内的文字应该在顶端和尾端留出至少 10px 的空白,在左端留出 20px 左右的空白,右端 10px 左右。在 CSS 语法中这些空白应该使用 margin 方式设置,padding 方式不提倡使用。padding 可以用来实现其他视觉效果。
不要随意在正文和标题中使用拉丁等宽字体,除非是为了一些艺术上的用意。拉丁等宽字体应该用在和模拟打印制品或者程序源代码有关的场合。
不要在任何地方强制指定使用任何的艺术中文字体,比如“魏碑”之类,这将在超过一半以上的计算机上,尤其是非 Windows 操作系统的计算机上不会显示出任何效果。
应该对大部分文字的 line-height 属性进行强制指定,一个经验是,对于正文文字,line-height 数值可以指定为这些文字的 font-size 的像素值的 1.6 倍左右。如果是标题文字的话,1.3 倍左右。
中文正文及标题中出现的标点符号应该使用全角方式输入。
中文正文及标题中出现的英文及数字应该使用半角方式输入,并且在左右各留一个半角空格。如果这些这些半角英文及数字的左边或者右边紧接着任何的中文全角括号或者其他标点符号的话,则不需要加入半角空格。
中文全角空格应该只在标题处使用。此外,在 Web 上的文字的正文的段落开头是否使用两个全角空格是个人喜好问题,反正我不喜欢用,因为这些全角空格有些浪费存储空间,且对快速扫描式的阅读没有太大帮助。
在 Web 上的文字,是被人们用眼睛来扫描的,绝大部分都不会被人仔细阅读。
中文字体的粗体和斜体显示效果不推荐使用。在大部分非 Windows 操作系统上,这些效果都不被字库或者浏览器支持。而在 Windows 操作系统上,这些效果也不够理想。粗体中文显示效果在 Windows 操作系统上会让部分笔画连接在一起而使得文字难以被辨认,而斜体中文显示效果则会使得部分笔画消失,也非常难以被辨认。如果一定要使用此二种效果,则要么通过 CSS 的 font-weight 方式指定,要么通过 strong 和 em 标签,而不要使用 b 和 i 标签。
中文的段落与段落之间应该留出一个完整的空行。即每个段落使用一对闭合的 p 标签在不加 CSS 时候的效果,或者是使用两个 br 标签时产生的效果。注意,这个空行的高度会受到 line-height 的影响,因此不要把 line-height 设置为太高的数值,否则将使得两个段落之前的视觉联系减弱,导致影响阅读时候的思路连贯。
如果文字是要被通过 RSS 输出的,则可以考虑在其中加入一份内嵌样式表,对于 ol、ul、blockquote 等元素的样式尤其需要控制。这样可以保证即使文字被显示在其他网站,其样式也依然可以保持统一,如果没有被聚合器过滤 HTML 标签的话。
以上这些,是我在写任何 HTML 文档时候的指导原则。比如,V2EX 的所有文档及 UBB 转换器都尽量符合这些原则。
关于制造中文 Web 阅读体验过程中的一些思考结论。
正文字体的尺寸应该使用固定的偶数像素单位,如 12px,14px,16px 等,一个例外情况就是 15px 像素也是相当不错的正文字体的尺寸。由于中文 Windows 操作系统及部分的 Linux 发行版使用的是像素字库,因此,这几个尺寸的字体在显示效果上最佳。而在 Mac OS X 上,因为 Mac OS X 使用的是矢量字库,则在各种尺寸下显示效果都不错。另外就是,Mac OS X 的中文矢量字库中内嵌了 12px 的像素字库。
blockquote、ol、ul 等 HTML 元素内的文字应该在顶端和尾端留出至少 10px 的空白,在左端留出 20px 左右的空白,右端 10px 左右。在 CSS 语法中这些空白应该使用 margin 方式设置,padding 方式不提倡使用。padding 可以用来实现其他视觉效果。
不要随意在正文和标题中使用拉丁等宽字体,除非是为了一些艺术上的用意。拉丁等宽字体应该用在和模拟打印制品或者程序源代码有关的场合。
不要在任何地方强制指定使用任何的艺术中文字体,比如“魏碑”之类,这将在超过一半以上的计算机上,尤其是非 Windows 操作系统的计算机上不会显示出任何效果。
应该对大部分文字的 line-height 属性进行强制指定,一个经验是,对于正文文字,line-height 数值可以指定为这些文字的 font-size 的像素值的 1.6 倍左右。如果是标题文字的话,1.3 倍左右。
中文正文及标题中出现的标点符号应该使用全角方式输入。
中文正文及标题中出现的英文及数字应该使用半角方式输入,并且在左右各留一个半角空格。如果这些这些半角英文及数字的左边或者右边紧接着任何的中文全角括号或者其他标点符号的话,则不需要加入半角空格。
中文全角空格应该只在标题处使用。此外,在 Web 上的文字的正文的段落开头是否使用两个全角空格是个人喜好问题,反正我不喜欢用,因为这些全角空格有些浪费存储空间,且对快速扫描式的阅读没有太大帮助。
在 Web 上的文字,是被人们用眼睛来扫描的,绝大部分都不会被人仔细阅读。
中文字体的粗体和斜体显示效果不推荐使用。在大部分非 Windows 操作系统上,这些效果都不被字库或者浏览器支持。而在 Windows 操作系统上,这些效果也不够理想。粗体中文显示效果在 Windows 操作系统上会让部分笔画连接在一起而使得文字难以被辨认,而斜体中文显示效果则会使得部分笔画消失,也非常难以被辨认。如果一定要使用此二种效果,则要么通过 CSS 的 font-weight 方式指定,要么通过 strong 和 em 标签,而不要使用 b 和 i 标签。
中文的段落与段落之间应该留出一个完整的空行。即每个段落使用一对闭合的 p 标签在不加 CSS 时候的效果,或者是使用两个 br 标签时产生的效果。注意,这个空行的高度会受到 line-height 的影响,因此不要把 line-height 设置为太高的数值,否则将使得两个段落之前的视觉联系减弱,导致影响阅读时候的思路连贯。
如果文字是要被通过 RSS 输出的,则可以考虑在其中加入一份内嵌样式表,对于 ol、ul、blockquote 等元素的样式尤其需要控制。这样可以保证即使文字被显示在其他网站,其样式也依然可以保持统一,如果没有被聚合器过滤 HTML 标签的话。

标签 :