<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title><![CDATA[The Trace Of Right Wing - WEB开发]]></title>
<link>http://www.rwing.cn/</link>
<description><![CDATA[Rwing的非技术博客]]></description>
<language>zh-cn</language>
<copyright><![CDATA[Copyright 2005 PBlog2 v2.4]]></copyright>
<webMaster><![CDATA[Rwing@rwing.cn(Rwing)]]></webMaster>
<generator>PBlog2 v2.4</generator> 
<image>
	<title>The Trace Of Right Wing</title> 
	<url>http://www.rwing.cn/images/logos.gif</url> 
	<link>http://www.rwing.cn/</link> 
	<description>The Trace Of Right Wing</description> 
</image>

			<item>
			<link>http://www.rwing.cn/default.asp?id=39</link>
			<title><![CDATA[[转]页面制作人员的修练之道]]></title>
			<author>Rwing@rwing.cn(Rwing)</author>
			<category><![CDATA[WEB开发]]></category>
			<pubDate>Mon,19 Mar 2007 21:35:18 +0800</pubDate>
			<guid>http://www.rwing.cn/default.asp?id=39</guid>	
		<description><![CDATA[<strong><font color="#ff0000">Rwing:哈,很和胃口的一篇文章,转一下吧.</font></strong><br />-------------------------------------------------------------------------------<br />
<p><strong>本文目的</strong>：与您分享如何学习基于web标准的网页制作。<br /><strong>适合人群</strong>：网页制作初学者。有一定的页面制作基础，并想学或正在学习web标准的朋友们。<br /><strong>备注</strong>：本文只是从理解以及概念上去分享网页制作的学习方法和步骤。力求通俗易懂，所以没有任何具体的代码、规范等内容，比如Xhtml的代码规范、CSS样式手册等具体内容我将会在文章的最后&ldquo;推荐的资源列表&rdquo;中将我所看到过或学习过的教程一一列出。</p>
<p><strong>一、新形势下的网页制作以及职业定位</strong></p>
<p>随着网络的发展，前几年还只是国外网站以及国内少数个人网站才会去实施的web标准，现在已经是大行其道了。上至新浪、163等门户网站，下至刚从学校毕业的大学生们的个人网站。到处都是它的踪影。<br />网 站建设的分工也从原来的一人承包(从效果到页面到程序代码)的模式也逐步转变成Web Designer + Page Builder + Programer 的项目组合作开发模式。正是由于web标准的兴起，&ldquo;页面工程师&rdquo;这个称谓也慢慢走上了舞台并担任起了相当重要的角色。<br />曾在蓝色经典上看到Aether帖出来的土豆网（tudou.com）的招聘信息，感觉这个招聘信息非常的有代表性，原文如下：</p>
<p><strong>引用</strong>：<br /><span class="code">页面工程师，1人<br />技能要求：<br />1、对W3C网页标准（Web Standards）有较深理解；<br />&nbsp; &middot;精通结构层代码（XHTML）和样式层代码（CSS）。<br />&nbsp; &middot;对语义、结构与内容分离等有深刻理解；<br />&nbsp; &middot;熟悉Javascript，并对行为层编程机理有一定理解，并了解后台程序制作流程。<br />2、有成熟作品，目前将主要从事代码方向工作；<br />3、精通Javascript优先。<br />工作内容：<br />配合页面架构（Web Architect，负责总体规划），完成页面制作（Page Builder）。<br />其上游是页面设计（Web Designer），下游是网站程序员（Programer）。</span></p>
<p>我非常的认同这种职业定位，所以转了过来。或许这将是未来比较流行的网站制作过程中的项目组分工合作的模式吧。</p>
<p><strong>二、基于web标准的网页基本特征</strong></p>
<p>从三年前开始接触网页到现在，我亲身经历了国内大多数网站的web标准重构。自己在不断的学习过程中也总结出了一点符合web标准的网页的一般特征，和大家一起分享一下。</p>
<p><strong>1、页面代码容易读懂了</strong>。</p>
<p>举一个简单的例子，按以前如果要实现一个页面的布局，一般是使用表格来划分整个页面。请阅读并运行以下代码：</p>
<p>运行代码框<br /><span><textarea class="codeTextarea">&lt;TABLE width=&quot;100%&quot; cellpadding=&quot;5&quot; cellspacing=&quot;1&quot; bgcolor=&quot;blue&quot;&gt;&lt;TR&gt;&lt;TD bgcolor=&quot;silver&quot; colspan=&quot;2&quot; align=&quot;right&quot;&gt;&lt;TABLE width=&quot;90%&quot;&gt;&lt;TR&gt;&lt;TD&gt;首页&lt;/TD&gt;&lt;TD&gt;栏目一&lt;/TD&gt; &lt;TD&gt;栏目二&lt;/TD&gt;&lt;TD&gt;栏目三&lt;/TD&gt;&lt;TD&gt;栏目四&lt;/TD&gt; &lt;/TR&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;TR height=&quot;400&quot;&gt;&lt;TD width=&quot;25%&quot; bgcolor=&quot;white&quot;&gt;左侧内容&lt;/TD&gt;&lt;TD width=&quot;75%&quot; bgcolor=&quot;white&quot;&gt;右侧内容&lt;/TD&gt;&lt;/TR&gt;&lt;TR&gt;&lt;TD colspan=&quot;2&quot; bgcolor=&quot;#f8f8f8&quot; align=&quot;center&quot;&gt;尾部文字&lt;/TD&gt;&lt;/TR&gt;&lt;/TABLE&gt;</textarea><br /><input onclick="runCode()" type="button" value="运行代码" /> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</span></p>
<p>而我们现在，一般会简化成这样：</p>
<p><span class="code">&lt;div id=&quot;header&quot;&gt;<br />&nbsp;&nbsp;&nbsp; &lt;menu&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;首页&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;栏目一&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;栏目二&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;栏目三&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;li&gt;栏目四&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/menu&gt;<br />&lt;/div&gt;<br />&lt;div id=&quot;left&quot;&gt;左侧内容&lt;/div&gt;<br />&lt;div id=&quot;right&quot;&gt;右侧内容&lt;/div&gt;<br />&lt;div id=&quot;bottom&quot;&gt;尾部内容&lt;/div&gt;</span></p>
<p>然 后再通过外部的CSS对页面上的元素进行布局以及美化效果，这样的代码相对于前一段应该说更精短，更易读懂。而且这个易读性，你还可以理解成搜索引擎也比 较容易读懂你的内容、聋哑等有障碍人士也能通过一些特殊设备来读懂你的内容、用手机wap上网也能比较顺畅地访问你的页面。</p>
<p><strong>2、页面变小了</strong></p>
<p>同样的网页在新的标准下制作和以前的传统制作相比，代码一般能节约40%以上，当然这是由于以下原因造成的：</p>
<ul>
    <li>通常在符合标准的页面中，已经不再直接使用&lt;td bgcolor=&quot;red&quot; align=&quot;center&quot; ....&gt;&lt;/td&gt;这种方法直接去控制显示样式了，而是放在网页之外的CSS文件中去表现。 </li>
    <li>抛弃了表格用来布局的做法后，N个表格重复嵌套的冗余代码也就不再出现了。 </li>
    <li>页面上已经不再直接使用图片进行装饰了，而是采用在CSS中使用背景图去实现。当然,具有实际意义的图片还是应该存在的，比如网站的Logo图标、广告图片、新闻图片以及其它不是用来装饰页面效果的、是属于实际内容的一部分的那类图片。 </li>
    <li>大量的javascript代码也被移植到了网页外部，在页面中将精简成&lt;script type=&quot;text/javascript&quot;&nbsp; src=&quot;../js/**.js&quot;&gt;&lt;/script&gt;。 </li>
</ul>
<p>当然以上所谈的特征非常的表面化、也非常的局限，只是就页面代码方面描述了比较浅显的特征，针对于页面制作人员而言,也同时提出了更高的要求，会在后边的文章中做详细的讲解。<br />有兴趣的朋友可以照着下边的这个效果图去用传统的方法试着做一下，然后再查看<a href="http://www.iwcn.net/demo/w3cdemo/index.asp" target="_blank">这个页面</a>的html代码，是不是觉得的确精短了很多？</p>
<p align="center"><img height="200" alt="" src="http://www.blueidea.com/articleimg/2007/01/4431/01.gif" width="400" border="0" /></p>
<p>到底如何去培养自己去编写精练的、有语义的、结构非常清晰的html代码呢。在下一节中我们来讨论如何将一个美工画出来的效果图拆分成结构层、表现层以及行为层，以及如何正确处理三者之间的关系。</p>
<p><strong>三、理解表现与内容相脱离</strong></p>
<p>表现与内容相脱离，这应该算是web标准所提倡的核心了。按w3c提出的标准，将网页划分成了三大块，即结构层、表现层、行为层。下边我们还是以上一节中的效果图为例，来了解这三块内容。您可以在新窗口中打开<a href="http://www.iwcn.net/demo/w3cdemo/index.asp" target="_blank">这个页面</a>。<br />Html代码：从页面代码的角度上看，我们应该说只能看到这些东西：就是一个标题，以及一个详细列表。所以说在脑海中初步形成的代码应该是：</p>
<p><span class="code">&lt;h4&gt;标题&lt;/h4&gt;<br />&lt;ul&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;列表项&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;列表项&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;列表项&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;列表项&lt;/li&gt;<br />&nbsp;&nbsp;&nbsp; ...<br />&nbsp;&nbsp;&nbsp; &lt;li&gt;列表项&lt;/li&gt;<br />&lt;/ul&gt;</span></p>
<p>CSS代码：就是大家看到的视觉效果。通过更换css文件，我们可以在不修练html代码的基础上任意变换这个页面的视觉效果。所有的效果应该是与html内容本身没有关系的。因为视觉效果仅仅是为了让页面更漂亮、更容易让用户去接受。</p>
<p>Javascript:细心的朋友会发现，标题栏左侧有一个小三角形。通过点击这个图标，我们可以完成一个收缩功能，这就是行为，也是与页面内容无关的东西。</p>
<p>三种角色负责三个不同的分工，尽量不要去相互影响。</p>
<p>一 个网页，应该以它的主体内容为根本，所以我主张。先编写html代码，在编写html代码时，我们尽量不去考虑为了迎合它的表现形式，这样才能写出结构 化、语义化的页面代码。当然，在CSS实现以及行为脚本时，我们也允许最小程度的去修改现有的html代码，毕竟还有很多客观因素在制约着。但这绝不意味 着像某些网站，纯粹为了通过w3c验证、为了实现某些不合理的效果图去写出类似于N个div嵌套、满页都是div的现象。时下所流行的一种叫法 &ldquo;div+css&rdquo;让很多初学者对web标准产生了严重的误解，认为就是用div去代替以前的table，会产生&ldquo;满页尽是div&rdquo;的错误结论。<br />这种表现与内容相脱离的设计思想，对于页面制作人员而言,也同时提出了<strong>更高的要求</strong>：</p>
<ul>
    <li>抛弃&quot;所见即所得&quot;的网页编辑软件，改用手写。亲身去感受每一个html标签的真实意义。你会发现除了table标签，原来还有那么多有用而根本没有胜过的标签。 </li>
    <li>以前只用DW、FP等软件拉出无数个表格然后填充些东西进去就能保存为网页的时代过去了，你要懂每一个html标签它应该布置在网页的什么位置。 </li>
    <li>页面html代码不负责页面的效果，它只是告诉浏览器我这个页面的结构和内容，所以刚开始时，你会觉得符合标准的页面做出来都比较难看，那是因为你还没有学会CSS，就算学会了，你还没有经过多次的这种html代码与css代码分开编写的实践。 </li>
    <li>要尽量让页面上的每一个标签都有它的实际意义。不要让html代码为css而活着。 </li>
</ul>
<p><strong>四、重新认识javascript</strong></p>
<p>Javascript 是什么？二年前，我说它是一个小丑，因为那时候在很多网页制作人员的眼中，它就约等于特效，比如跑马灯效果、弹出窗口、网页关闭时弹出一个欢迎再来等等， 还有专门的网站来收集javascript的特效，并将其归类为窗口特效、文字特效、图片特效等。这足以说明几年前 javascript在网页制作领域所处于的小丑地位了。</p>
<p>但现在，如果你还说javascript是小丑，我会反对你。自从AJAX应用的兴起、web标准的提倡，可以说javascript和asp、asp.net、jsp等后台开发语言一样，处于不可轻视的地位。这就是&ldquo;网页前台开发&rdquo;。</p>
<p>网页，我认为大致可分为二类：一类为呈现内容型的，如一般的内容页面。另一类就是注重应用型的，如以Gmail为首的。当然，一般的网页都是二者都有的，只是孰轻孰重罢了。在注重用户体验、交互的今天，网页前台脚本开发担任了非常重要的角色。</p>
<p>网页制作行业的分工与合作模式现在还处于摸索阶段，所以说，对于行为层代码的编写工作到底属于网页制作人员还是属于开发人员的。我觉得应该看各个开发团队的具体情况而定。不管怎么样，作为页面制作人员我觉得还是应该对Javascript以及DOM有所了解的。</p>
<p><strong>五、页面制作人员应该了解的知识</strong></p>
<p>如果说美工只负责出效果图，程序员只负责数据处理的话。那么网页制作人员需要负责的东西无疑是最多的。</p>
<ol>
    <li>XHTML（这是最根本的，也是最重要的。） </li>
    <li>CSS（不学会这个，你根本没有办法去实现美工所画出来的效果图。） </li>
    <li>Javascript（虽然说要注重结构、表现、行为的脱离，但很多时候我们也需要如何用javascript和css配合作战。） </li>
    <li>Dom（文档对象模型，配合javascript使用。）<br /><strong>以下内容为个人体会，最重要的是上边四点</strong> </li>
    <li>SEO（搜索引擎优化，虽然现在有专门的做SEO的公司，但不是每个网站都会去请那些人来做这种事情的，如果你会了你就会知道其实很多优化是页面代码上的优化。） </li>
    <li>网站的可用性（比如在NoScript环境下的正常显示等。） </li>
    <li>网站的易用性（美工画出来的图是没有行为的，而用户是可以在网页上做事的，所以如何让页面的易用性，这是你应该考虑的，除非你们还有专门的UE人员。） </li>
    <li>了解后台程序开发（对后台开发的了解有利于和开发人员进行沟通，不然会很麻烦。） </li>
</ol>
<p><strong>我所使用的工具软件列表</strong></p>
<ol>
    <li>Editplus：用来编写html代码和javascript代码。 </li>
    <li>TopStyle：用来编写css代码。 </li>
    <li>FrontPage ：虽然说大家都说DW比这个要好，但我是一直用着它的，现在基本手写了，但偶尔会用用。有感情了。 </li>
    <li>Firefox&nbsp;：浏览器，强大的插件功能吸引了我。 </li>
    <li>Opera：浏览器，多装几个，看一下你的作品在多种浏览器中是不是一样。 </li>
    <li>VS.net：项目大多是用vs.net做的，但我不建议你去用2003做前台页面，2005会稍好一点。 </li>
</ol>
<p><strong>我推荐的资源列表</strong></p>
<p>网站：</p>
<p><a href="http://www.w3.org/" target="_blank">http://www.w3.org</a><br /><a href="http://www.blueidea.com/" target="_blank">http://www.blueidea.com</a><br /><a href="http://www.w3cn.org/" target="_blank">http://www.w3cn.org</a><br /><a href="http://www.csszengarden.com/" target="_blank">http://www.csszengarden.com/</a><br /><a href="http://yuntian.cnblogs.com/" target="_blank">http://yuntian.cnblogs.com/</a><br /><a href="http://sheneyan.com/" target="_blank">http://sheneyan.com/</a><br /><a href="http://andy.andymao.com/" target="_blank">http://andy.andymao.com/</a><br /><a href="http://www.forest53.com/" target="_blank">http://www.forest53.com/</a></p>
<p>教程：</p>
<p>样式表中文手册 -苏昱<br />样式表滤镜中文手册 -苏昱<br />文档对象模型中文手册 -苏昱<br />在30天内打造更具亲和力的网站 <br />网站重构<br />《CSS网站布局实录》<br />javascript宝典（第四版）</p>
<p><strong>经典论坛讨论</strong>：<br /><a href="http://bbs.blueidea.com/thread-2713875-1-1.html" target="_blank">http://bbs.blueidea.com/thread-2713875-1-1.html</a></p>]]></description>
		</item>
		
			<item>
			<link>http://www.rwing.cn/default.asp?id=20</link>
			<title><![CDATA[[转]如何不让统计或广告拖慢你的网站]]></title>
			<author>Rwing@rwing.cn(Rwing)</author>
			<category><![CDATA[WEB开发]]></category>
			<pubDate>Thu,25 Jan 2007 18:54:12 +0800</pubDate>
			<guid>http://www.rwing.cn/default.asp?id=20</guid>	
		<description><![CDATA[Rwing:嗯,手里的一个网站正因为一个js调用被拖的很慢,这两天正想动手呢.刚好看到这个文章,转一下吧<br/><br/>要不想让统计或广告之类的外部代码或页面拖慢网站的速度，就只能让他们在本站页面的所有内容下载完成之后再下载外部代码，而在此之前应该在网页指定的位置显示载入中或是用图片标示该位置有内容正在下载。<br/>这样，要实现该功能的代码就分为三个部分：<br/>一、在页面中提示载入中的代码；<br/>二、页面所有内容之后，需要下载的外部代码；<br/>三、外部代码下载之后，把代码置换到页面中指定位置的代码<br/><br/>下面举例说明，相信大家举一反三，能很容易掌握。<br/>在这个例子里，我们在外部代码载入前用/images/proimg.gif这个图片来提示正在下载内容。<br/>我们要调用的外部代码是某个广告代码。<br/><br/>在网络条件比较好的时候，代码调用的速度较快，可能不太明显。但是在外部服务器出问题的时候，它的作用就显示出来了，防范于未然吧！<br/><br/>第一部分的代码为：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;span id=ad_01&gt;&lt;img src=&#34;/templets/images/proimg.gif&#34;&gt;&lt;/span&gt;</div></div><br/>这部分很好懂，注意这里span的ID，在这里是ad_01。记下它，后面要用到。<br/>这部分的代码应该是在页面中你为广告或统计预留的位置。<br/>第二部分代码也很简单：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;SPAN class=spanclass id=span_ad_01&gt;&lt;script type=&#34;text/javascript&#34;&gt;&lt;!--<br/>将你的广告代码完整粘贴到这里<br/>//--&gt;&lt;/script&gt;<br/>&lt;/SPAN&gt;</div></div><br/>与上面一样，也要记下这里span的ID，在这里是span_ad_01，这个ID不能跟上面的ID相同。<br/>为了不让这部分外部代码拖慢你的网页显示速度，这部分应该放在页面所有正文的内容之后。事实上，完全可以把这部分代码放在&lt;/html&gt;标签的外面，我在IE6下测试过。<br/>第三部分代码比较重要，也稍微难记一些，是用来把后来载入的代码替换到页面内容中：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/code.gif" style="margin:0px 2px -3px 0px" alt="程序代码"/> 程序代码</div><div class="UBBContent">&lt;SCRIPT&gt;ad_01.innerHTML=span_ad_01.innerHTML;span_ad_01.innerHTML=&#34;&#34;;&lt;/SCRIPT&gt;</div></div><br/><br/>这段代码有两句，第一句中=前是第一部分代码中指定的span的ID加.innerHTML，=后是第二部分代码中指定的span id加.innerHTML。第二句是将第二部分的spanid内容清空。<br/>注意：这部分的代码要放在第二部分代码之后，最好紧跟在第二部分代码的后面。<br/>三部分代码添加之后，再看下你的网站，再也不会因为要调用外部代码拖慢网页的显示速度了。<br/>]]></description>
		</item>
		
			<item>
			<link>http://www.rwing.cn/default.asp?id=14</link>
			<title><![CDATA[以前没仔细研究过的路径问题]]></title>
			<author>Rwing@rwing.cn(Rwing)</author>
			<category><![CDATA[WEB开发]]></category>
			<pubDate>Thu,18 Jan 2007 22:33:41 +0800</pubDate>
			<guid>http://www.rwing.cn/default.asp?id=14</guid>	
		<description><![CDATA[1、&lt;img src=&#34;/images/logo.gif&#34;&gt;<br/>2、&lt;img src=&#34;images/logo.gif&#34;&gt;<br/>HTML代码两者的不同<br/>假如有一个html文件路径如下<br/><a href="http://localhost/a/1.htm" target="_blank">http://localhost/a/1.htm</a><br/>分别使用2个代码运行就可以看出两者的区别了，得到的结果是<br/>1、<a href="http://localhost/images/logo.gif" target="_blank">http://localhost/images/logo.gif</a><br/>2、<a href="http://localhost/a/images/logo.gif" target="_blank"><a href="http://localhost/a/images/logo.gif" target="_blank">http://localhost/a/images/logo.gif</a></a><br/><br/>进而延伸到程序里<br/>用户控件一般都单独放在一个目录下，例如modules,而图片放在同级的images目录下，那么无论使用1还是2都无法访问到images下的图片，会得到两种结果<br/>1、<a href="http://localhost/images/logo.gif" target="_blank">http://localhost/images/logo.gif</a><br/>2、<a href="http://localhost/a/Modules/images/logo.gif" target="_blank">http://localhost/a/Modules/images/logo.gif</a><br/>而正确的、我们需要的结果是<br/><a href="http://localhost/a/images/logo.gif" target="_blank">http://localhost/a/images/logo.gif</a><br/><br/>那么就只好指定路径了<br/>HttpContext.Current.Request.ApplicationPath<br/>就是获取程序的虚拟目录的根路径<br/>&lt;img src=&#39;&lt;%=HttpContext.Current.Request.ApplicationPath + &#34;/images/logo.gif&#34;%&gt;&#39;&gt;<br/>就可以了,注意 images前要加&#34;/&#34;，因为HttpContext.Current.Request.ApplicationPath获取的值是&#34;/a&#34;<br/><br/>——————————————————————————<br/>还有一个CSS文件的路径问题：<br/>css文件中如果要应用图片.例如背景,那么图片的路径是相对于css文件所在的位置的<br/>例如,css文件的位置是 根目录/css/style.css，<br/>那么如果在css中使用背景background-image:url(images/logo.gif) ，<br/>其实路径是根目录/css/images/logo.gif，当然访问不到了，<br/>所以要background-image:url(../images/logo.gif)，或者直接将css文件放在根目录下]]></description>
		</item>
		
			<item>
			<link>http://www.rwing.cn/default.asp?id=11</link>
			<title><![CDATA[为前端架构师正名]]></title>
			<author>Rwing@rwing.cn(Rwing)</author>
			<category><![CDATA[WEB开发]]></category>
			<pubDate>Sat,13 Jan 2007 21:29:00 +0800</pubDate>
			<guid>http://www.rwing.cn/default.asp?id=11</guid>	
		<description><![CDATA[<img src="http://www.rwing.cn/attachments/month_0701/j2007115104141.gif" border="0" alt=""/><br/><br/>在蓝色上看到一篇帖子<a target="_blank" href="http://www.blueidea.com/tech/site/2006/4177.asp">《是时候了,前端架构师》</a>，原文是<a target="_blank" href="http://www.garrettdimon.com/archives/the-time-is-now-for-front-end-architects">&lt;The Time is Now for Front-End Architects&gt;</a>。<br/><br/>从我的一些建站经验来看，确实需要一个这样的前端架构师，往往这些活都是由后端架构来做的..<br/>例如 符合标准的div+css，这些难道要后端来做？可是你不做，那些纯美工根本不会...<br/>哎，先看看Garrett Dimon是怎么样定义这样一个职位的：<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent"><br/>This isn’t a short o&#114; simple list, and while a front-end architect shouldn’t know each of these topics inside and out, they should know enough to discuss the finer points of any of the following:<br/>这并不是一个扼要和简单的清单，对于下面的主题／技术，前端架构师也不能仅仅满足于了解一下的里里外外而已，而是需要足够的深入研究，并有自己出色的见解。<br/><br/><br/><br/><br/>XHTML<br/><br/>CSS (1,2, and 3) <br/><br/>Cross-Browser and Cross-Platform Compatibility 跨浏览器和跨平台<br/><br/>DOM Scripting DOM脚本编程<br/><br/>AJAX<br/><br/>Flash<br/><br/>Progressive Enhancement and Graceful Degradation 渐进增强和适度降级<br/><br/>Accessibility 无障碍<br/><br/>Usability 可用性<br/><br/>Information Architecture 信息架构<br/><br/>Interface Design 界面设计<br/><br/>Visual Design 视觉设计<br/><br/>Presentation Logic (ASPX, Rails Views, etc.)&nbsp;&nbsp;表现层逻辑（ASPX, Rails视图等）<br/><br/>Business Rules &amp; Logic 商业规则和逻辑<br/><br/></div></div><br/><br/>然后看了一下文章的Comments:<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">---文武双全，这个构架师的担子不轻啊~<br/>我一直认为要求设计师深入研究程序是对设计思维的扼杀~前端构架师要求都要深入，我想极多数也都是半斤八两。而负责设计与程序的手下，本职技术又远大于构架师。我想一个优秀团队如果有良好的沟通，是可以忽略前端构架师的作用！网页技术繁多复杂，这个构架师很难挤入职位行列。</div></div><br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/quote.gif" style="margin:0px 2px -3px 0px" alt="引用内容"/> 引用内容</div><div class="UBBContent">同意楼上观点，技术 太繁杂了，如果有这么一个脚色，我觉得他在某一个公司和项目中的地位是可有可无的------如果大家都是行家里手，符合网络标准来协作的话，我实在想不出有什么理由出现这个脚色。。。。<br/><br/>再者，人的精力是有限的，学习这么多东西，没个几年功夫是不行的，而且我所认识的人中，做编程的设计肯定不怎么行，做设计的他的编程也是不咋地，两者都会的，两者都学的不咋地。。。。。没有人会拿这个来博自己的未来，如果学，肯定不可能深入进去，也是自断前程</div></div><br/><br/>说的有道理，但是仍然是那个问题:简单的div+css,javascript由谁来做？<br/>其实这些都完全应该是美工的活..我向来认为美工的生活很滋润....<br/>所以美工们学点东西吧..转型到前端架构就太好了..<br/><br/>]]></description>
		</item>
		
			<item>
			<link>http://www.rwing.cn/default.asp?id=5</link>
			<title><![CDATA[移植这个skin时遇到的一个问题]]></title>
			<author>Rwing@rwing.cn(Rwing)</author>
			<category><![CDATA[WEB开发]]></category>
			<pubDate>Fri,05 Jan 2007 15:22:47 +0800</pubDate>
			<guid>http://www.rwing.cn/default.asp?id=5</guid>	
		<description><![CDATA[先来看这个例子<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/html.gif" style="margin:0px 2px -3px 0px"> HTML代码</div><div class="UBBContent"><TEXTAREA rows="8" id="temp55375">
<!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#34;>
<html xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34; lang=&#34;UTF-8&#34;>
<style>
#body{
	border:1px solid #F00;
	height:100%;
}
#left{
	width:100px;
	float:left;
}
#right{
	border-left:1px solid #0F0;
	float:left;
}
</style>
<body>
<div id=&#34;body&#34;>
	<div id=&#34;left&#34;>
		<p>a</p><p>b</p><p>c</p><p>d</p><p>e</p>
	</div>
	<div id=&#34;right&#34;>
		<p>1</p><p>2</p>
	</div>
</div>
</body>
</html>
</TEXTAREA><br/><INPUT onclick="runEx('temp55375')"  type="button" value="运行此代码"/> <INPUT onclick="doCopy('temp55375')"  type="button" value="复制此代码"/><br/> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</div></div><br/>如果右侧的高度小于左侧的话,那么中间那条绿线就会无法到达底部.<br/>这个也是制作pjblog skin时经常遇到的问题,那条绿线即是侧边栏和内容栏中间的那条间隔线<br/>那么如何让它在任何情况下都到达底部么?<br/>顺着思路想一下就知道了,当右侧的高度小于左侧时,那么让右侧的高度与左侧相等就ok了<br/>于是,第一种方法出来了,使用Javascript控制右侧高度.<br/>(javascript在最下面)<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/html.gif" style="margin:0px 2px -3px 0px"> HTML代码</div><div class="UBBContent"><TEXTAREA rows="8" id="temp47089">
<!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#34;>
<html xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34; lang=&#34;UTF-8&#34;>
<style>
#body{
	border:1px solid #F00;
	height:100%;
}
#left{
	width:100px;
	float:left;
}
#right{
	border-left:1px solid #0F0;
	float:left;
}
</style>
<body>
<div id=&#34;body&#34;>
	<div id=&#34;left&#34;>
		<p>a</p><p>b</p><p>c</p><p>d</p><p>e</p>
	</div>
	<div id=&#34;right&#34;>
		<p>1</p><p>2</p>
	</div>
</div>

<script>
	var leftheight = document.getElementById('left').offsetHeight;
	var rightheight = document.getElementById('right').offsetHeight;
	if(rightheight<leftheight)
	document.getElementById('right').style.height = leftheight;
</script> 
</body>
</html>
</TEXTAREA><br/><INPUT onclick="runEx('temp47089')"  type="button" value="运行此代码"/> <INPUT onclick="doCopy('temp47089')"  type="button" value="复制此代码"/><br/> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</div></div><br/>但是,这种方法还要改js或调用js,很麻烦,还是纯CSS的方法好.<br/>换个思路,如果左右两侧都有border的话,那么不就可以在任何情况下都能到达底部么?<br/>但是,显而易见,border的宽度有些地方是2px,有些地方是1px.ok,也好解决,让右侧向左侧移动1px,使左右侧有1px的重叠,也就是把border部分重叠在一起,不就解决了么?<br/><div class="UBBPanel"><div class="UBBTitle"><img src="http://www.rwing.cn/images/html.gif" style="margin:0px 2px -3px 0px"> HTML代码</div><div class="UBBContent"><TEXTAREA rows="8" id="temp25063"><!DOCTYPE html PUBLIC &#34;-//W3C//DTD XHTML 1.0 Transitional//EN&#34; &#34;<a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd</a>&#34;>
<html xmlns=&#34;<a href="http://www.w3.org/1999/xhtml" target="_blank">http://www.w3.org/1999/xhtml</a>&#34; lang=&#34;UTF-8&#34;>
<style>
#body{
	border:1px solid #F00;
	height:100%;
}
#left{
	width:100px;
	float:left;
	border-right:1px solid #0F0;
}
#right{
	border-left:1px solid #0F0;
	float:left;
	margin-left:-1px;
}
</style>
<body>
<div id=&#34;body&#34;>
	<div id=&#34;left&#34;>
		<p>a</p><p>b</p><p>c</p><p>d</p><p>e</p>
	</div>
	<div id=&#34;right&#34;>
		<p>1</p><p>2</p>
	</div>
</div>
</body>
</html>
</TEXTAREA><br/><INPUT onclick="runEx('temp25063')"  type="button" value="运行此代码"/> <INPUT onclick="doCopy('temp25063')"  type="button" value="复制此代码"/><br/> [Ctrl+A 全部选择 提示：你可先修改部分代码，再按运行]</div></div>]]></description>
		</item>
		
</channel>
</rss>