推荐阅读

Photoshop鼠绘质感的玻璃透明心形效果
最终效果1、打开Photoshop,新建一个文件。设置如下图,像素长宽比选择:方形像素。保存文件并命名为Adv Reflective Clear Style.psd。在工作过程中要记得经常按Ctrl+S保存和更新文件。2、双击背景层打开图层对话框。更改名字“Gradient bg(渐变BG)”,并单击“确定”。双击“渐变BG”图层打开图层样式对话框,然后选择左边选项栏的渐变叠加。创建一个径向渐变,单击渐变编辑器添加渐变色,具体设置如下。3、单击左侧栏中的“图案叠加”。点击图案右侧的小三角,调出图案选项,在选项设置中,选择“艺术表面”“小列表”,然后在图案列表选项中选择“石头”模式。然后将不透明度降低到10%,因为我们只需要一点点的石头质感就好。再次点击渐变叠加的图层效果,改变其混合模式为正片叠底,将两种图层效果混合在一起。接下来我们要添加内发光,可以让背景更吸引人。

为照片添创意 数码后期设计心得
文字套版设计和自主创意设计到底哪一个速度更快?效益更高?效果更好?各有优劣。随着中国数码影楼的数码技术不断深化,对数码后期技术人员的要求也越来越高。但是更多的后期美工们却有相当一部分的技术水平还停留在几年以前,他们因为套版而思路匮乏,信息闭塞,有的甚至没有基本的审美感觉,除了机械性的套版制作以外,毫无创意可言。如何突破这种现状,尽快地运用Photoshop技能来更好更快地表达数码照片的前期拍摄及后期创意的意图呢?在这里,我根据自已从事影楼数码后期工作几年来的个人心得,总结整理了这篇简明扼要的文章,希望和大家一起分享。建立正确的审美观具有一定的专业审美观是我们做创作设计的最基本的前提。首先我们要了解数码照片的基本构成要素。一张合格的数码照片,它当然首先是有人有景有思想,它需要通过比如:光的对比及明暗关系、画面的构图方式、画面人物的美姿形态、画面的整体照片色彩的运用、甚至小到眼神光的合理与否?都直接影响到一张数码照片的质量好坏。所有这些因素,实际上都反映了一个摄影师在给顾客拍片时的最终作品效果的前期想象,也是数码后期人员在接到一个作业时,了解摄影师拍摄意图的主要认知来源。只有了解了这一点,才能在整个工作过程中和摄影师有密切的配合,设计出让人满意的作品。如何培养提高自已的审美认知呢?很简单,从生活中汲取。艺术来自于生活而高于生活。我们数码后期是一个创造美的工作,虽然有其普遍商业性,谈不上纯艺术。但是很多观念和对美的感觉,其实主要还是来自于每个人的身边。网络时代,我们可以上网查找到无以计数的相关内容,也可以留心自已日常生活中的一点一滴。比如去逛超市的时候,请注意一下你想买的CD盒的包装,或者某化妆品的外形设计,再或者抬头时见到挂着的POP吊牌。这些东西里面往往包含了很多你需要的信息,并可以给你灵感,加以利用。有看电视吗?一场引人入胜电视连续剧放到一半的时候,广告突然插进来了,这是件很烦人的事。别急,某化妆品广告制作得很漂亮,是不是正好是一个数码照片的创意版面?王菲的MTV我喜欢看,不是她歌唱得好我喜欢,而是她的MTV制作真的很一流,给了我很多灵感。学过美术吗?学一点吧。没有谁想让你成为画家,但是学一点素描、水彩什么的,只会对你有好处。不是说要懂一点审美吗?如果你不懂得美术的基本概念,就更谈不上用内行的眼光去欣赏别人的好作品了,因为你不知道一张好作品好在哪里,为什么好。充其量你只能说:这张照片很好看,仅此而已。学习方法是:每天花一个小时的时间,画一张画,可以是素描,也可以是水彩。当然不是乱画,有条件的可以去上专门的培训学校。如果想自学?容易!你只需要买一个苹果放在灯光下,然后按照你抽空买来的有关的教学书籍,再用你手中的笔把它画出来。只有通过这种方式,你才能真正体会到明暗对比的关系、色彩搭配的原理以及构图的方式,并因此种种而最终所表达的思想内涵。用内行的眼光去欣赏幅好作品又是如此重要!这是你源源不断的创意灵思的来源渠道。学会模仿我每一次给影楼做培训都会一再强调学会模仿。从一个刚开始学习制作数码后期的美工人员到一个设计高手,一定是需要经过模仿这一阶段的。可以这样说,没有模仿,就没有日积月累的创作经验,光是有一个很好的审美价值观,没有具体的表达意图的手法技巧,最多也只能做一个眼高手低的评论家。模仿有方法。我有一个习惯,就是收集别人的作品。不仅是别人的好作品,别人不好的作品我也会收集,因为我觉得就算是别人做的不好的作品,它总有一两处优点是值得我学习模仿的。成功学里有一句很经典的话:每天进步百分之一!我想这就够了。我会把收集来的作品分门别类地存放在计算机的某一个文件夹里。工作的时候,我会随时打开它,边做边浏览这些作品,并把我认为适合的东西运用到我的作业中去。我运用这种方法,在学习数码后期设计初期很短的一个月之后就设计出了自已的第一套数码婚纱样片,并在中国婚纱摄影网论坛数码版块发表后得到同行的广泛认可。模仿不是简单的复制,而是在模仿的过程中不断消化各种制作手法,并且在运用这些手法的同时不断地整合变化,把它变成适合自已的东西。在模仿的同时,努力制作比你所模仿的作品更好的作品。这是完全可能的!因为他人的作品也不可能是十全十美的,你在模仿时去糙求精,并加进你自已的改进,为何就制作不了比他更好的作品呢?第三,了解数码后期设计制作的主要构成要素色彩有光的地方就有色彩的存在。我们所设计的每一张作品,能让人产生美感的第一印象就是色彩。所以色彩是设计的重中之重。色彩作为我们社会的一门专业的学科博大精深,千变万化的色彩元素构成了我们生活的全部内容。我无法在这篇简短的文章里把它全部叙述清楚,我也不打算这么做。为了能让我们的后期美工们能尽可能地迅速使用好它的合理搭配,我自已很主观地总结了一些规律,希望对大家会有所启发。 1.使用一种色彩的明暗色来进行搭配。很多后期美工缺少色彩基础知识,但由于工作需要,又必须完成影楼所交待的设计工作任务。因此,我采用了一种非常保守的方法,使用一种色彩进行配色。所谓的单色配色,其实就是利用一种色彩的明暗色来进行配色。使用一种色彩的明暗色来进行配色在大多情况下是不会出现太大的让人不满意的效果。而且会使画面更有统一感、整体感和谐调感。 2.一个设计版面都会存在很多种色彩,为了再次加强我们上面所说到的“统一感、整体感和谐调感”,我们不能在同一个版面使用太多的色调。而只使用三种色调就基本能够满足需要了。这里面一个主色调,一个次色调,一个点缀色,有时候点缀色会再多几种。 3.色调的确定来自于数码照片的本身。特别是版面主色调的确定,通常来自于数码原始片的人物的衣服或者背景以及某一个有特色的东西。只要你能觉得你所选取的主色调能充份表达这张数码原始片的主题,你就可以确定它。背景 1.背景色就是版面的主色调。所以选取什么样的色彩来处理背景非常重要。最简单直接的方法,我在上面的色彩中已经讲到过。 2.背景的表现手法也有以下几种: (1)单一色背景。我个人不是很提倡这种背景,特别是在我们对婚纱数码进行设计时,这种背景给人的感觉不具有空间感,显得平板而死气,不够灵活。 (2)渐变式背景。这种背景表现形式能让整个版面瞧上去清爽简洁,增加了版面空间感和变化。通常方法是在背景上用PS的渐变工具进行渐变处理,这种渐变处理可以是多样性的,没有谁会反对你对各种渐变的灵活运用,但是有一个事项需要注意,就是在任何渐变的使用中,要同时考虑到版面的构图问题,要懂得首尾呼应、轻重得当。 (3)对比式背景。对比式背景个性时尚,凌角分明,如果和渐变式背景处理方法相结合使用,有时会有意想不到的效果。所谓对比式背景,实际上是用一些色块来表现背景。 (4)添加背景素材。我从不指定需要用什么样的背景素材来做。在我看来,数码原始片本身所具有的风格才是最重要的,任何背景素材的使用目的都是为了衬托主题(人物)。基于这一点,我们只需要把一张将要使用的背景素材处理成我们需要的背景就行了,哪怕这张背景素材是你闭着眼睛找到的。背景素材的合适与否不在于这张背景素材的本身内容,而是在于它被处理后的效果。通常来说,背景在版面中是主题的衬托者,在任何时候都不建议它太过抢眼,多数时候以虚景的方式来表现会更保守一些。除非你有把握对背景的处理能够得心应手。除了要以虚的形式来表现背景以外,我们还要注意对背景的美化。数码原始照片中的人物如果是一朵红花,当然需要好的绿叶来配的。不然的话,就算顾客的照片拍得再好,也有可能让有缺陷的背景所破坏。在后面的快速入手做设计的具体步骤中,我会讲到背景的具体处理方法。构图我在很多地方看到一些专家对画面的构图进行过详细的分析,并具体到构图的分类:比如说对比式构图,光是这一类就可以分成:面积对比、疏密空白对比、大小对比、动静对比、冷暖对比、虚实对比、明暗对比、补色对比等等。还有的人给构图定了三大原则:①、平衡构图;②、简洁构图;③、多元构图。如此种种。他们其实都没有说错。但是我个人觉得,构图不应被某种框架所束缚,在任何有关构图的理论中,有一个话题是不会少的,就是平衡。只要在二维平面上达到画面组成各元素之间的平衡,随你什么构图都是科学的。平衡让人产生心理谐调,和谐就是美。平衡在设计中只需要做到两点,也就是平衡的构成要素:重心点重心点其实就是整个版面的支点,它并不要求在整个版面的中心位置,而且支点的存在是不可见的,它和我们下面谈到的杠杆作用相互作用才会发生效应的。没有这个重心点,也就不存在杠杆作用了。杠杆作用不得不再回到学生时代来温习一下我们的物理杠杆作用。因为在我们的平面设计构图上它至关重要。如果我们在设计时不能考虑到这一点,作品很可能是失败的。假如在你的面前放着三张数码照片,现在需要进行排版,通常情况不会是三张照片都是一样大小的,不然会显得很呆板。而三张不同大小的照片组合排放,也不可能是在一条平行线上(不然要不呆板要不太工整),一定是不规则地排放,并加进文字及其它设计元素。在排放的过程中,如果把它们比作天平上的物体,是不是把这种物体在天平的两端都要放上一样的重量?问题是不可能所有的物体在天平两端的重量都正好是一样的,这样会导致天平两端发生倾斜。对了,就是倾斜,倾斜了就能平衡,这就叫杠杆作用。也就是说,当我们进行照片在版面上的排放时,可以按照这种思路去做,把你手中的三张照片在版面中按一种倾斜的角度去排放,以图得到一种平衡,只要做到这一点,如何构图的问题就迎刃而解了。文字及设计元素的作用在我看来,数码设计中的文字和设计元素的功能是差不多的,当然不可否认,文字本身就具有它的内容和表达的意思。只是在影楼商业化的数码设计中,面对大量的照片处理,对于文字本身所表达的内容已经不是很重要了,只要能够表示很诗意、浪漫、美好和祝福的意思就可以了。当然,这也需要配合版面的内容才比较恰当。文字以及设计元素在我们数码设计中主要有三大作用:①.点缀作用文字和设计元素毕竟不是版面的主体,但是它们可以起到美化画面的作用。没有了它们,我们的设计版面有可能会显得单调而缺少灵活。就像我们做菜时炒肉会放一些有色素的其他蔬菜和佐料,这样不但可以让菜看上去更好看以引起人的食欲,又可以增加菜的香味。文字和设计元素在具体使用时手法要流畅而灵动,并且和整体版面要浑然一体,运用得当,能起到一个化龙点睛的作用。②.构图作用又说到构图了!文字及设计元素的构图在整个设计版面过程中,它起到的是一种辅助构图作用。何为辅助构图?当你在设计构图时仅仅用主体(也就是数码照片中的人物)无法达到平衡构图要求时,你可以利用文字及设计元素来帮你达到目的。3.关联作用往往在设计版面时,人物和人物之间缺少一种关联,使画面显得过于松散而不紧凑,这样很容易造成版面杂乱无章而没有整体性。碰到这种情况,文字及设计元素就能起到一个很好的作用。把人物和人物之间能很好的关联起来。 第四,数码后期超级创意快速入手法门一、拿到照片不知如何下手创意请注意制作设计的一般步骤:先期调色→修片→按需要建立新画布→确定主色调→背景处理→人物排放→文字及设计元素的补充→整体色调调整→输出处理→保存。二、快速入手制作设计步骤第一步:先期调色之所以要说是“先期”调色,其原因在于你刚打开一张原始图片时,并没有确定它的最终效果是怎样的色调。只有在整个版面已经定局,才会再一次进行整体色彩谐调的调整。从这个意义上来说,这一步的“先期”调色,主要是以通过对原始照片的提亮和拉反差来得到相对正常的灰阶度和相对正常的人物肤色。具体做法已经在我的培训课程中讲到。有的人喜欢修好片再进行调色,这种做法理论上是行得通的,但是在实际操作中,由于未调好色的片子灰阶通常处于一种狭窄的状态,通俗点说就是高光不足并且暗部也不够。在这种情况下,人的眼睛无法预知已修片在调色后是否能满足我们的要求。而更多的情况下没有经过调色的已修片再进行调色后会发现原来的层次感已经发生变化,无法恢复。除非你有一整套非常规范而复杂的专业修片程序,不过针对影楼这样的实体而言,有点不太现实。

UGA实例教程(13)关于LOGO 的制作
. . 关于LOGO 的制作 最简单的LOGO 1. 打开一张图,设置为宽88 高31 2. 在上面输入文字,采用前面讲过的 UA5 的文字方法:渐入、渐出、跳跃字、闪动字、垂直合并、水平合并等等方法。 3. 加上图形变化,比如:翻页、扩张等等方法。 4. 另存为 对于字体最好采用端正一点的字体。以便清楚看到。 想要变化一些的LOGO 可以在上面的基本上再采用UA5 的线条划过效果等。 还可以导入一些小图:小星、圆圈、方点、小树叶并在各桢移动~ LOGO 模板提供:

专业摄影师为你出招 新娘美姿这样摆
肖像范围 根据人物在画面中呈现的身体部位的不同,可以分为三种基本摆姿。头带肩肖像,或称为头部肖像,用以展现新娘的头部与肩膀。当然如果双手抬高接近脸颊,也应算在上述一类中。半身像中则包括人物的头部、肩部和部分躯干。在女性肖像中,此类照片一般是从胸部以下或者腰部裁切的(半身像有时也可以认为是头部肖像的一种)。四分之三肖像展现新娘头部到大腿中部或者小腿中部的部分。在特殊情况下,仅露出一只脚也是有可能的。全身肖像展现新娘从头到脚(至少是脚踝)的部分。同样在一些特殊情况下,也可能只露出一只脚。 当画框中不包括新娘的全身时,建议避免从关节处裁剪照片(如膝盖或肘部),不然会使新娘看起来像是截了肢,应尽量从关节之间的部位裁剪照片。 面部角度 最适宜的面部角度依赖于新娘风姿、布光和摄像师想要营造的氛围。 在正面像中,新娘的鼻子指向照相机。从这个角度看新娘脸部最宽,因此圆脸的新娘一般不适合这个角度。 在四分之三侧面像中(有时也可以说是三分之二),新娘的面部朝向一侧,从相机中看不到远侧的耳朵。这个角度适用于大多数新娘。在这个摆姿中,注意离相机远的眼睛看上去会显得小一些。另外,请确保头不要转得过于夸张,不然会使鼻尖边缘和面颊的轮廓线重合,要么就会使新娘的鼻子遮挡住远处的眼睛。 在侧面像中,新娘的面部与相机呈90°。在拍摄时,适度调节新娘头部角度,确保新娘远侧的眼睛、眉毛、睫毛呈现出若隐若现的效果。 肩部 新娘的肩部一般要与相机呈一定的角度。正对相机镜头会让双肩看上去比正常的宽,而且拍出的照片会缺少动感。当然如果新娘的身材苗条,可以让她的双肩正对相机,则能营造出自信的感觉。
最新发布

Data URI和MHTML完整解决所有浏览器
Data URIData URI 是由 RFC 2397 定义的一种把小文件直接嵌入文档的方案。通过如下语法就可以把小文件变成指定编码直接嵌入到页面中:data:[<MIME-type>][;base64],<data>在上个世纪 HTML4.01引入了Data URI方案 ,到今天为止除了IE6和IE7之外,所有主流浏览器都支持,但IE8对Data URI的支持还是有限制的,只支持object(仅是图片时)、img、input type=image、link和CSS中的URL,且数据量不能大于32K。优点:缺点:MHTMLMHTML是MIME HTML (Multipurpose Internet Mail Extension HTML)的缩写,是由RFC 2557定义的把一个多媒体的页面所有内容都保存到同一个文档解决方案。这个方案是由微软提出从IE5.0开始支持,另外Opera9.0也开始支持,Safari可以把文件保存为.mht(MHTML文件的后缀)格式,但不支持显示它。MHTML和Data URI还比较类似,有更强大的功能和更复杂的语法,并且没有Data URI中“无法被重复利用”的缺点,但MHTML使用起来不够灵活方便,比如对资源引用的URL在mht文件中可以是相对地址,否则必须是绝对地址。hedger在《Cross Browser Base64 Encoded Images Embedded in HTML》针对IE的解决方案使用的是相对路径就是因为声明了Content-type:message/rfc822使IE按照MHTML来解析,如果不修改Content-type则需要使用MHTML协议,这个时候必须使用绝对路径,如《MHTML – when you need data: URIs in IE7 and under》。应用

HTML 5 Reset Stylesheet
这份css reset是在Eric Meyers的 CSS reset基础上修改出来的,特别针对HTML5调整了相应标签的初始化样式。/*html5doctor.com Reset Stylesheetv1.42009-07-27Author: Richard Clark - http://richclarkdesign.com*/html, body, div, span, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,abbr, address, cite, code,del, dfn, em, img, ins, kbd, q, samp,small, strong, sub, sup, var,b, i,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, dialog, figure, footer, header,hgroup, menu, nav, section,time, mark, audio, video { margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent;}body { line-height:1;}article, aside, dialog, figure, footer, header,hgroup, nav, section { display:block;}nav ul { list-style:none;}blockquote, q { quotes:none;}blockquote:before, blockquote:after,q:before, q:after { content:”; content:none;}a { margin:0; padding:0; border:0; font-size:100%; vertical-align:baseline; background:transparent;}ins { background-color:#ff9; color:#000; text-decoration:none;}mark { background-color:#ff9; color:#000; font-style:italic; font-weight:bold;}

HTML5 File API改善网页上传功能
HTML 5 让 HTML 这个一度单纯的置标语言焕发出成熟的魅力,使之成为 Web 开发者的强力工具。 近日W3C又推出一个新草案——HTML5 File API,这个 API 将让大大改善基于Web 的文件上传操作,甚至可以实现直接将文件从桌面拖放至Web。 该草案使用 <input type="file" /> 实现文件的上传,而其对应的 API 为开发者提供了操控上传数据与上传进度的机制。不过,目前对该 API 提供支持的浏览器还少得可怜,真正支持的浏览器似乎只有 Firefox 3.6。如果使用最新的 Firefox 3.6 版,可以在演示页体验文件拖放式上传。 同时,该 API 还许诺将为 Web 程序提供一种机制,使得文件上传操作接近桌面程序的体验,同时拖放多个文件到 Web 并单独显示每个上传进程的进度状态。

W3C推荐的 DTDs(文件类型声明)
When authoring document is HTML or XHTML, it is important to Add a Doctype declaration. The declaration must be exact (both in spelling and in case) to have the desired effect, which makes it sometimes difficult. To ease the work, below is a list of recommended declarations that you can use in your Web documents.Use the following markup as a template to create a new XHTML 1.0 document using a proper DOCTYPE. See the list below if you wish to use another document type.<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>An XHTML 1.0 Strict standard template</title> <meta http-equiv="content-type" content="text/html;charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> </head> <body> <p>… Your HTML content here …</p> </body> </html> DTD List HTML 4.01 - Strict, Transitional, Frameset: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd"> XHTML 1.0 - Strict, Transitional, Frameset: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Frameset//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-frameset.dtd"> XHTML 1.1 - DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> XHTML Basic 1.0 - DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.0//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic10.dtd"> XHTML Basic 1.1 - DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML Basic 1.1//EN" "http://www.w3.org/TR/xhtml-basic/xhtml-basic11.dtd"> HTML 2.0 - DTD: <!DOCTYPE html PUBLIC "-//IETF//DTD HTML 2.0//EN"> HTML 3.2 - DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> MathML 1.01 - DTD: <!DOCTYPE math SYSTEM "http://www.w3.org/Math/DTD/mathml1/mathml.dtd"> MathML 2.0 - DTD: <!DOCTYPE math PUBLIC "-//W3C//DTD MathML 2.0//EN" "http://www.w3.org/TR/MathML2/dtd/mathml2.dtd"> XHTML + MathML + SVG - DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> SVG 1.0 - DTD: <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd"> SVG 1.1 Full - DTD: <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> SVG 1.1 Basic - DTD: <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd"> SVG 1.1 Tiny - DTD: <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Tiny//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-tiny.dtd"> XHTML + MathML + SVG Profile (XHTML as the host language) - DTD: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> XHTML + MathML + SVG Profile (Using SVG as the host) - DTD: <!DOCTYPE svg:svg PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd"> List of DTDs for the CSS validator. Authoring tools MUST NOT use the following list.

学习如何书写整洁规范的HTML标记
良好的HTML代码是一个漂亮网站的基础。当我教别人CSS的时候, 我总是首先告诉他们: 良好的CSS只存在于良好的HTML标记基础上。这就好像一间房子需要一个坚固的地基一样,对不? 整洁、语义化的HTML标记具有很多的优势,但却还是有很多网站使用着并不友好的标记写法。让我们来看一些写得并不友好的HTML标记, 并针对这些问题进行讨论,从而学习如何书写整洁规范的HTML标记。破洛洛注: Chris Cyier在这里使用了两个文档来进行本文的代码说明: bad code 和 good code 。大家学习的时候请参考着这两个文件。我们要做到这一点,只需要按正确的步骤来做即可. 没必要去讨论是否使用HTML 4.01或 XHTML 1.0,两者都对我们书写正确的代码提出了严格的要求。但无论如何我们的代码不应该使用任何Tables表格来进行布局, 所以也就没必要使用Transitional DOCTYPE.相关资源:破洛洛注: 所谓的DTD就是文档类型声明,简单来说,就是对特定文档所定义的一些规则,这些规则包括一系列的元素和实体的声明。XHTML文档类型有三种: STRICT(严格类型), TRANSITIONAL(过渡类型)和 FRAMESET(框架类型)。目前,我们使用最多的是TRANSITIONAL,比如本站目前也是使用 XHTML 1.0 TRANSITIONAL。如果你的HTML代码书写的还算良好,那把现有的TRANSITIONAL 转为STRICT还是比较方便的。反之,也不用太急着转,个人觉得,STRICT更严谨,但用TRANSITIONAL也并没有太大影响。在我们的 <head> 部份, 第一件事情就是声明字符集. 我们使用了UTF-8, 但是把它放到了 <title>后面. 让我们把字符集声明移动到最上面,因为我们要让浏览器在阅读任何内容之前就应该知道以何种字符集来进行处理。

6个不常用HTML标记使用说明
HTML标签众多,在HTML手册里你可以都查到。但有的HTML标签你可能从未使用过。不是因为你欠缺学习精神,而是它们确实用处不大。如果你有探索精神,那就接着往下看吧。第一个:<abbr> 或 <acronym>这两个标识是一回事,主要是用于一些英语的缩写,当你把鼠标移上去的时候,你会发现会出现一个小提示来提示缩写的全称。下面是一个示例: 第二个:<q>这个标识主要就是把引用的文字加上双引号,这个标识看来好像很没有什么意思。官方说是为了方便,可我总觉得这个标识还不如直接输入双引号来的方便。好像的确没什么。难道这个标识只能在Firefox下看到,IE就不支持了。下面是个示例:这个是一句引言这个是一句引言 第三个,<bdo>这个标识很有意思,可以把从左到右的字序全部反转过来。比如:May I help you sir ? 如果加上了这个标识后,就是下面这个样子:May I help you sir ?什么事可以为你效劳啊? 第四个,<del>为你的字符串加上删除线。如:这是一段删除文字。这是一段删除文字 第五、六个,<sub><sup>这两个是下标和上标。下面是示例:这是一个下标,这是一个上标。

网页制作:HTML代码编写的30条技巧
本文总结了30条HTML代码编写指南,只要在编写HTML代码的过程中牢记它们,灵活运用,你一定会写出一手漂亮的代码,早日迈入专业开发者的行列。在以往的页面源代码里,经常看到这样的语句: <li>Some text here. <li>Some new text here. <li>You get the idea. 也许过去我们可以容忍这样的非闭合HTML标签,但在今天的标准来看,这是非常不可取的,是必须百分百避免的。一定要注意闭合你的HTML标签,否则将无法通过验证,并且容易出现一些难以预见的问题。最好使用这样的形式: <ul> <li>Some text here. </li> <li>Some new text here. </li> <li>You get the idea. </li> </ul> 2. 声明正确的文档类型( DocType ) 笔者早先曾加入过许多CSS论坛,在那里,如果有用户遇到问题,我们会建议他首先做两件事:DOCTYPE 定义在HTML标签出现之前,它告诉浏览器这个页面包含的是HTML,XHTML,还是两者混合出现,这样浏览器才能正确的解析标记。通常有四种文档类型可供选择: 1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> 2. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 4. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 关于该使用什么样的文档类型声明,一直有不同的说法。通常认为使用最严格的声明是最佳选择,但研究表明,大部分浏览器会使用普通的方式解析这种声明,所以很多人选择使用HTML4.01标准。选择声明的底线是,它是不是真的适合你,所以你要综合考虑来选择适合你得项目的声明。当你在埋头写代码时,可能会经常顺手或偷懒的加上一点嵌入式css代码,就象这样: <p style="color: red;">破洛洛</p> 这样看起来即方便又没有问题,但是它会在你得代码中产生问题。

Canvas教程(4):Using images应用图像
One of the more fun features of the canvas is the abillity to use images. These can be used to do dynamic photo compositing or used as backdrops of graphs etc. It's currently also the only way to add text to them (The specification does not contain any functions to draw text). External images can be used in any format supported by Gecko (e.g. PNG, GIF or JPEG format). Other canvas elements on the same page can also be used as the source.Canvas 相当有趣的一项功能就是可以引入图像,它可以用于图片合成或者制作背景等。而目前仅可以在图像中加入文字(标准说明中并没有包含绘制文字的功能)。只要是 Gecko 支持的图像(如 PNG,GIF,JPEG等)都可以引入到 canvas 中,而且其它的 canvas 元素也可以作为图像的来源。Importing images is basically a two step process:引入图像只需要简单的两步:Let's look at step one first. There are basically four options available:先来看看第一步,基本上有四种可选方式:We can access all images on a page by using either the document.images collection, the document.getElementsByTagName method, or if we know the ID attribute of the image, the document.getElementById method.我们可以通过 document.images 集合、document.getElementsByTagName 方法又或者 document.getElementById 方法来获取页面内的图片(如果已知图片元素的 ID。Just as with normal images we access other canvas elements using either the document.getElementsByTagName method or the document.getElementById method. Make sure you've drawn something to the source canvas before using it in your target canvas.和引用页面内的图片类似地,用 document.getElementsByTagName 或 document.getElementById 方法来获取其它 canvas 元素。但你引入的应该是已经准备好的 canvas。

Canvas教程(3):Drawing shapes绘制图形
Before we can start drawing, we need to talk about the canvas grid or coordinate space. The HTML template on the previous page had a canvas element 150 pixels wide and 150 pixels high. I've drawn this image with the default grid overlayed. Normally 1 unit in the grid corresponds to 1 pixel on the canvas. The origin of this grid is positioned in the top left corner (coordinate (0,0)). All elements are placed relative to this origin. So the position of the top left corner of the blue square becomes x pixels from the left and y pixels from the top (coordinate (x,y)). Later in this tutorial we'll see how we can translate the origin to a different position, rotate the grid and even scale it. For now we'll stick to the default.在真正开始之前,我们需要先探讨 canvas 的网格(grid)或者坐标空间(coordinate space)。在前一页的HTML模板里有一个150像素宽, 150像素高的 canvas 对象。我在画面上叠加上默认网格,如右图。通常网格的1个单元对应 canvas 上的1个像素。网格的原点是定位在左上角(坐标(0,0))。画面里的所有物体的位置都是相对这个原点。这样,左上角的蓝色方块的位置就是距左边x像素和距上边Y像素(坐标(x, y))。后面的教程中我们将学会如何把移动原点,旋转以及缩放网格。不过现在我们会使用默认的状态。Unlike SVG, canvas only supports one primitive shape - rectangles. All other shapes must be created by combining one or more paths. Luckily, we have a collection of path drawing functions which make it possible to compose very complex shapes.不像 SVG,canvas 只支持一种基本形状——矩形,所以其它形状都是有一个或多个路径组合而成。还好,有一组路径绘制函数让我们可以绘制相当复杂的形状。First let's look at the rectangle. There are three functions that draw rectangles on the canvas:我们首先看看矩形吧,有三个函数用于绘制矩形的:fillRect(x,y,width,height) : Draws a filled rectanglestrokeRect(x,y,width,height) : Draws a rectangular outlineclearRect(x,y,width,height) : Clears the specified area and makes it fully transparentEach of these three functions takes the same parameters. x and y specify the position on the canvas (relative to the origin) of the top-left corner of the rectangle. width and height are pretty obvious. Let's see these functions in action.它们都接受四个参数, x 和 y 指定矩形左上角(相对于原点)的位置,width 和 height 是矩形的宽和高。好,实战一下吧。Below is the draw() function from the previous page, but now I've added the three functions above.

HTML 5 canvas 基本语法
5 规范引进了很多新特性,其中最令人期待的之一就是 canvas 元素。HTML 5 canvas 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大。每一个 canvas 元素都有一个"上下文( context )" (想象成绘图板上的一页),在其中可以绘制任意图形。浏览器支持多个 canvas 上下文,并通过不同的 提供图形绘制功能。 提供图形绘制功能。 5 规范引进了很多新特性,其中最令人期待的之一就是 元素。HTML 5 提供了通过 JavaScript 绘制图形的方法,此方法使用简单但功能强大。每一个 元素都有一个"上下文( context )" (想象成绘图板上的一页),在其中可以绘制任意图形。浏览器支持多个 canvas 上下文,并通过不同的 提供图形绘制功能。大部分的浏览器都支持 2D canvas 上下文——包括 Opera, Firefox, Konqueror 和 Safari。而且某些版本的 Opera 还支持 3D canvas ,Firefox 也可以通过插件形式支持 3D canvas :本文介绍 2D canvas基础以及如何使用基本 canvas 函数,如线条、形状、图像和文字等。为了理解此文章,你最好了解 JavaScript 基础知识。可以点击此处批量下载本文实例代码创建 canvas 的方法很简单,只需要在 HTML 页面中添加 <canvas> 元素:<canvas id="myCanvas" width="300" height="150"> Fallback content, in case the browser does not support Canvas. </canvas> 为了能在 JavaScript 中引用元素,最好给元素设置 ID ;也需要给 canvas 设定高度和宽度。创建好了画布后,让我们来准备画笔。要在画布中绘制图形需要使用 JavaScript 。首先通过 getElementById 函数找到 canvas元素,然后初始化上下文。之后可以使用上下文 API 绘制各种图形。下面的脚本在 canvas 中绘制一个矩形 (点击此处查看效果):// Get a reference to the element. var elem = document.getElementById('myCanvas'); // Always check for properties 和 methods, to make sure your code doesn't break // in other browsers. if (elem && elem.getContext) { // Get the 2d context. // Remember: you can only initialize one context per element. var context = elem.getContext('2d'); if (context) { // You are done! Now you can draw your first rectangle. // You only need to provide the (x,y) coordinates, followed by the width and // height dimensions. context.fillRect(0, 0, 150, 100); } } 可以把上面代码放置在文档 head 部分中,或者放在外部文件中。介绍了如何创建 canvas 后,让我们来看看 2D canvas API,看看能用这些函数做些什么。上面的例子中展示了绘制矩形是多么简单。