<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WEB前端开发</title>
	<atom:link href="http://www.css88.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.css88.com</link>
	<description>专注前端开发，关注用户体验</description>
	<lastBuildDate>Wed, 01 Sep 2010 01:38:45 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JQ插件：slide滚动插件</title>
		<link>http://www.css88.com/archives/2455</link>
		<comments>http://www.css88.com/archives/2455#comments</comments>
		<pubDate>Wed, 01 Sep 2010 01:38:28 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS与RIA]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[jQuery插件]]></category>
		<category><![CDATA[slide]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2455</guid>
		<description><![CDATA[在很多原有的滚动插件上做了整合，重新封装了一下： 具体参数： JQ-Slide插件参数说明表 参数名 参数值(默认值可以省略) effect scroolY（默认）：垂直滚动 scroolX：水平滚动 scroolTxt：文本垂直滚动 fade：淡出 scroolLoop：水平左右点击滚动 autoPlay true（默认）： or false speed 动画速度时间，默认&#8221;normal&#8221;，可以使用毫秒或者JQ中的fast，slow，normal timer 滚动间隔时间，默认&#8221;1000，可以使用毫秒或者JQ中的fast，slow，normal claNav JQ-slide-nav（默认）：触点对象数组父级 claCon JQ-slide-content（默认）：滚动对象或滚动对象父级 steps 1（默认）：滚动几个 演示地址及使用请移步：http://d2.sodao.com/demo/Slide/]]></description>
			<content:encoded><![CDATA[<p>在很多原有的滚动插件上做了整合，重新封装了一下：<br />
具体参数：</p>
<table class="KS-table" border="0" cellspacing="0" cellpadding="0" width="760">
<caption> JQ-Slide插件参数说明表<br />
</caption>
<tbody>
<tr>
<th width="155" scope="row">参数名</th>
<td width="438">参数值(默认值可以省略)</td>
<td width="166"></td>
</tr>
<tr>
<th rowspan="5" scope="row">effect</th>
<td>scroolY（默认）：垂直滚动</td>
<td rowspan="5"></td>
</tr>
<tr>
<td>scroolX：水平滚动</td>
</tr>
<tr>
<td>scroolTxt：文本垂直滚动</td>
</tr>
<tr>
<td>fade：淡出</td>
</tr>
<tr>
<td>scroolLoop：水平左右点击滚动</td>
</tr>
<tr>
<th scope="row">autoPlay</th>
<td>true（默认）： or false</td>
<td></td>
</tr>
<tr>
<th scope="row">speed</th>
<td>动画速度时间，默认&#8221;normal&#8221;，可以使用毫秒或者JQ中的fast，slow，normal</td>
<td></td>
</tr>
<tr>
<th scope="row">timer</th>
<td>滚动间隔时间，默认&#8221;1000，可以使用毫秒或者JQ中的fast，slow，normal</td>
<td></td>
</tr>
<tr>
<th scope="row">claNav</th>
<td>JQ-slide-nav（默认）：触点对象数组父级</td>
<td></td>
</tr>
<tr>
<th scope="row">claCon</th>
<td>JQ-slide-content（默认）：滚动对象或滚动对象父级</td>
<td></td>
</tr>
<tr>
<th scope="row">steps</th>
<td>1（默认）：滚动几个</td>
<td></td>
</tr>
</tbody>
</table>
<p>演示地址及使用请移步：<a href="http://d2.sodao.com/demo/Slide/" target="_blank">http://d2.sodao.com/demo/Slide/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2455/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>【IE6的疯狂系列】IE6下position:absolute相邻元素margin-top失效的bug</title>
		<link>http://www.css88.com/archives/2442</link>
		<comments>http://www.css88.com/archives/2442#comments</comments>
		<pubDate>Tue, 24 Aug 2010 03:11:47 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[(x)html+css]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2442</guid>
		<description><![CDATA[昨天发现了一个ie6的bug，绝对定义(position:absolute)的相邻元素margin-top竟然会失效； 看demo把（请用ie6围观）：http://www.css88.com/demo/absolute-bug/absolute-bug.html 这里有几个条件： 相邻元素是有width属性的，如果去掉width属性，margin-top又会生效，点击查看：http://www.css88.com/demo/absolute-bug/absolute-bug-1.html 增加相邻元素浮动，margin-top也会又会生效；点击查看：http://www.css88.com/demo/absolute-bug/absolute-bug-2.html 如果没有复杂的背景什么的可以使用padding-top替换margin-top； 还可应在相邻元素间插入一个空标签的方法： &#60;div style=&#34;position: absolute; width: 500px; top: 0; left: 0; height: 30px; background-color: #666;&#34;&#62;此处显示新 Div 标签的内容&#60;/div&#62; &#60;!--[if IE 6]&#62; &#60;div&#62;&#60;/div&#62; &#60; ![endif]--&#62; &#60;div style=&#34;margin-top: 35px; width: 100px; float: left; background-color: #3fc;&#34;&#62;此处eeeeeeeee显示新 Div 标签的内容&#60;/div&#62; 点击查看：http://www.css88.com/demo/absolute-bug/absolute-bug-4.html &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212; 另赠送一个IE6下与float元素相邻的position:absolute元素消失BUG 围观地址：http://blog.dengsa.com/?p=342 http://www.webchina110.cn/?p=105]]></description>
			<content:encoded><![CDATA[<p>昨天发现了一个ie6的bug，绝对定义(position:absolute)的相邻元素margin-top竟然会失效；</p>
<p>看demo把（请用ie6围观）：<a href="http://www.css88.com/demo/absolute-bug/absolute-bug.html" target="_blank">http://www.css88.com/demo/absolute-bug/absolute-bug.html</a></p>
<p>这里有几个条件：</p>
<ol>
<li>相邻元素是有width属性的，如果去掉width属性，margin-top又会生效，点击查看：<a href="http://www.css88.com/demo/absolute-bug/absolute-bug-1.html" target="_blank">http://www.css88.com/demo/absolute-bug/absolute-bug-1.html</a></li>
<li>增加相邻元素浮动，margin-top也会又会生效；点击查看：<a href="http://www.css88.com/demo/absolute-bug/absolute-bug-2.html" target="_blank">http://www.css88.com/demo/absolute-bug/absolute-bug-2.html</a></li>
</ol>
<p>如果没有复杂的背景什么的可以使用padding-top替换margin-top；</p>
<p>还可应在相邻元素间插入一个空标签的方法：</p>
<pre class="brush: html; ">

&lt;div style=&quot;position: absolute; width: 500px; top: 0; left: 0; height: 30px; background-color: #666;&quot;&gt;此处显示新 Div 标签的内容&lt;/div&gt;
&lt;!--[if IE 6]&gt;
&lt;div&gt;&lt;/div&gt;
&lt; ![endif]--&gt;
&lt;div style=&quot;margin-top: 35px; width: 100px; float: left; background-color: #3fc;&quot;&gt;此处eeeeeeeee显示新 Div 标签的内容&lt;/div&gt;
</pre>
<p>点击查看：<a href="http://www.css88.com/demo/absolute-bug/absolute-bug-4.html" target="_blank">http://www.css88.com/demo/absolute-bug/absolute-bug-4.html</a></p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;<br />
另赠送一个IE6下与float元素相邻的position:absolute元素消失BUG<br />
围观地址：<a href="http://blog.dengsa.com/?p=342"  target="_blank">http://blog.dengsa.com/?p=342</a> <a href="http://www.webchina110.cn/?p=105"  target="_blank">http://www.webchina110.cn/?p=105</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2442/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Javascript浅拷贝与深拷贝</title>
		<link>http://www.css88.com/archives/2433</link>
		<comments>http://www.css88.com/archives/2433#comments</comments>
		<pubDate>Sun, 08 Aug 2010 15:53:58 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS与RIA]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2433</guid>
		<description><![CDATA[js中的赋值都为引用传递.就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.引用就是浅拷贝。 深拷贝就是不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的，新对象所指向的不是原来对像的地址。 Javascript深拷贝有很多封装的方法，大家网上可以搜索一下.看下面这个例子： var S=KISSY, obj={a:&#34;a&#34;,b:&#34;b&#34;}; var newObj=S.clone(obj);//深拷贝 var newObj1=obj;//浅拷贝，赋值 obj.b=&#34;b2&#34;; S.log(obj);//{a:&#34;a&#34;,b:&#34;b2&#34;} S.log(newObj);//{a:&#34;a&#34;,b:&#34;b&#34;} S.log(newObj1)//{a:&#34;a&#34;,b:&#34;b2&#34;}]]></description>
			<content:encoded><![CDATA[<p>js中的赋值都为引用传递.就是说,在把一个对像赋值给一个变量时,那么这个变量所指向的仍就是原来对像的地址.引用就是浅拷贝。<br />
深拷贝就是不紧复制对象的基本类,同时也复制原对象中的对象.就是说完全是新对象产生的，新对象所指向的不是原来对像的地址。<br />
Javascript深拷贝有很多封装的方法，大家网上可以搜索一下.看下面这个例子：</p>
<pre class="brush: javascript; ">

var S=KISSY,
	obj={a:&quot;a&quot;,b:&quot;b&quot;};
	var newObj=S.clone(obj);//深拷贝
	var newObj1=obj;//浅拷贝，赋值
	obj.b=&quot;b2&quot;;
	S.log(obj);//{a:&quot;a&quot;,b:&quot;b2&quot;}
	S.log(newObj);//{a:&quot;a&quot;,b:&quot;b&quot;}
	S.log(newObj1)//{a:&quot;a&quot;,b:&quot;b2&quot;}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2433/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>js中的hasOwnProperty和isPrototypeOf方法</title>
		<link>http://www.css88.com/archives/2431</link>
		<comments>http://www.css88.com/archives/2431#comments</comments>
		<pubDate>Thu, 05 Aug 2010 11:26:09 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS与RIA]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2431</guid>
		<description><![CDATA[hasOwnProperty：是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是，此方法无法检查该对象的原型链中是否具有该属性，该属性必须是对象本身的一个成员。 isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中，是则返回true，否则返回false。 function siteAdmin(nickName,siteName){ this.nickName=nickName; this.siteName=siteName; } siteAdmin.prototype.showAdmin = function() { alert(this.nickName+&#34;是&#34;+this.siteName+&#34;的站长!&#34;) }; siteAdmin.prototype.showSite = function(siteUrl) { this.siteUrl=siteUrl; return this.siteName+&#34;的地址是&#34;+this.siteUrl; }; var matou=new siteAdmin(&#34;愚人码头&#34;,&#34;WEB前端开发&#34;); var matou2=new siteAdmin(&#34;愚人码头&#34;,&#34;WEB前端开发&#34;); matou.age=&#34;30&#34;; // matou.showAdmin(); // alert(matou.showSite(&#34;http://www.css88.com/&#34;)); alert(matou.hasOwnProperty(&#34;nickName&#34;));//true alert(matou.hasOwnProperty(&#34;age&#34;));//true alert(matou.hasOwnProperty(&#34;showAdmin&#34;));//false alert(matou.hasOwnProperty(&#34;siteUrl&#34;));//false alert(siteAdmin.prototype.hasOwnProperty(&#34;showAdmin&#34;));//true alert(siteAdmin.prototype.hasOwnProperty(&#34;siteUrl&#34;));//false alert(siteAdmin.prototype.isPrototypeOf(matou))//true alert(siteAdmin.prototype.isPrototypeOf(matou2))//true]]></description>
			<content:encoded><![CDATA[<p>hasOwnProperty：是用来判断一个对象是否有你给出名称的属性或对象。不过需要注意的是，此方法无法检查该对象的原型链中是否具有该属性，该属性必须是对象本身的一个成员。<br />
isPrototypeOf是用来判断要检查其原型链的对象是否存在于指定对象实例中，是则返回true，否则返回false。</p>
<pre class="brush: javascript; ">

function siteAdmin(nickName,siteName){
			this.nickName=nickName;
			this.siteName=siteName;
		}
		siteAdmin.prototype.showAdmin = function() {
			alert(this.nickName+&quot;是&quot;+this.siteName+&quot;的站长!&quot;)
		};
		siteAdmin.prototype.showSite = function(siteUrl) {
			this.siteUrl=siteUrl;
			return this.siteName+&quot;的地址是&quot;+this.siteUrl;
		};
		var matou=new siteAdmin(&quot;愚人码头&quot;,&quot;WEB前端开发&quot;);
		var matou2=new siteAdmin(&quot;愚人码头&quot;,&quot;WEB前端开发&quot;);
		matou.age=&quot;30&quot;;
//		matou.showAdmin();
//		alert(matou.showSite(&quot;http://www.css88.com/&quot;));
		alert(matou.hasOwnProperty(&quot;nickName&quot;));//true
		alert(matou.hasOwnProperty(&quot;age&quot;));//true
		alert(matou.hasOwnProperty(&quot;showAdmin&quot;));//false
		alert(matou.hasOwnProperty(&quot;siteUrl&quot;));//false
		alert(siteAdmin.prototype.hasOwnProperty(&quot;showAdmin&quot;));//true
		alert(siteAdmin.prototype.hasOwnProperty(&quot;siteUrl&quot;));//false
		alert(siteAdmin.prototype.isPrototypeOf(matou))//true
		alert(siteAdmin.prototype.isPrototypeOf(matou2))//true
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2431/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>js数组去重</title>
		<link>http://www.css88.com/archives/2429</link>
		<comments>http://www.css88.com/archives/2429#comments</comments>
		<pubDate>Tue, 03 Aug 2010 11:33:26 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[JS与RIA]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[数组]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2429</guid>
		<description><![CDATA[js数组去重就是把数组中重复的元素去掉： Array.prototype.delRepeat=function(){ var newArray=new Array(); var len=this.length; for (var i=0;i&#60;len ;i++){ for(var j=i+1;j&#60;len;j++){ if(this[i]===this[j]){ j=++i; } } newArray.push(this[i]); } return newArray; } 但是很明显这里有for循环内嵌了另一个for循环，在大数据量下肯定非常耗时！效率低下！经过查找和高人指点优化了一个新方法： Array.prototype.delRepeat=function(){ var newArray=[]; var provisionalTable = {}; for (var i = 0, item; (item= this[i]) != null; i++) { if (!provisionalTable[item]) { newArray.push(item); provisionalTable[item] = true; } } return newArray; } 就是使用一个临时的provisionalTable对象，将数组的值作为provisionalTable对象的键值，如果相应的值不存在就将这个数组的值push到新数组中。 [...]]]></description>
			<content:encoded><![CDATA[<p>js数组去重就是把数组中重复的元素去掉：</p>
<pre class="brush: javascript; ">

Array.prototype.delRepeat=function(){
	var newArray=new Array();
	var len=this.length;
	for (var i=0;i&lt;len ;i++){
		for(var j=i+1;j&lt;len;j++){
			if(this[i]===this[j]){
				j=++i;
			}
		}
		newArray.push(this[i]);
	}
	return newArray;
}
</pre>
<p>但是很明显这里有for循环内嵌了另一个for循环，在大数据量下肯定非常耗时！效率低下！经过查找和高人指点优化了一个新方法：<span id="more-2429"></span></p>
<pre class="brush: javascript; ">

Array.prototype.delRepeat=function(){
	var newArray=[];
	var provisionalTable = {};
	for (var i = 0, item; (item= this[i]) != null; i++) {
        if (!provisionalTable[item]) {
            newArray.push(item);
            provisionalTable[item] = true;
        }
    }
    return newArray;
}
</pre>
<p>就是使用一个临时的provisionalTable对象，将数组的值作为provisionalTable对象的键值，如果相应的值不存在就将这个数组的值push到新数组中。<br />
效率是提高了，但是有个bug，就是假设数组中换用可转换的数字和字符串，比如数组[6,"6"]这时候就好被去掉一个。悲剧，同时求解决方法。<br />
</len></p>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2429/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>使&lt;pre&gt;的内容自动换行</title>
		<link>http://www.css88.com/archives/2422</link>
		<comments>http://www.css88.com/archives/2422#comments</comments>
		<pubDate>Wed, 28 Jul 2010 16:07:40 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[(x)html+css]]></category>
		<category><![CDATA[自动换行]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2422</guid>
		<description><![CDATA[&#60;pre&#62; 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。 &#60;pre&#62; 标签的一个常见应用就是用来表示计算机的源代码。 而我们经常碰到的一个问题是如果一个代码上碰到有图片或者网页地址就会使代码很长，结果会造成页面撑开或者代码超出边界。非常难受，如果用overflow:hidden那么会将原来的代码隐藏掉，用overflow:auto则会出现滚动条，代码也不方便阅读。 点击查看：http://www.css88.com/demo/pre/index-1.html 今天折腾了一个晚上终于搞定&#60;pre&#62;的内容自动换行的问题： 1.先尝试使用：word-wrap: break-word;将内容自动换行，IE，OP，Chrome，Safari都可以，FF就悲剧了。 点击查看：http://www.css88.com/demo/pre/index-2.html 2.查看了pre的浏览器默认样式： xmp, pre, plaintext { display: block; font-family: -moz-fixed; white-space: pre; margin: 1em 0; } 都有这个white-space: pre，看看white-space的值： 值 描述 normal 默认。空白会被浏览器忽略。 pre 空白会被浏览器保留。其行为方式类似 HTML 中的 &#60;pre&#62; 标签。 nowrap 文本不会换行，文本会在在同一行上继续，直到遇到 &#60;br&#62; 标签为止。 pre-wrap 保留空白符序列，但是正常地进行换行。 pre-line 合并空白符序列，但是保留换行符。 inherit 规定应该从父元素继承 white-space 属性的值。 有个pre-wrap，保留空白符序列，但是正常地进行换行。 这样就OK了搞定，我们只要加上样式： pre { white-space: [...]]]></description>
			<content:encoded><![CDATA[<p>&lt;pre&gt; 元素可定义预格式化的文本。被包围在 pre 元素中的文本通常会保留空格和换行符。而文本也会呈现为等宽字体。</p>
<p>&lt;pre&gt; 标签的一个常见应用就是用来表示计算机的源代码。</p>
<p>而我们经常碰到的一个问题是如果一个代码上碰到有图片或者网页地址就会使代码很长，结果会造成页面撑开或者代码超出边界。非常难受，如果用overflow:hidden那么会将原来的代码隐藏掉，用overflow:auto则会出现滚动条，代码也不方便阅读。</p>
<p>点击查看：<a href="http://www.css88.com/demo/pre/index-1.html" target="_blank">http://www.css88.com/demo/pre/index-1.html</a></p>
<p>今天折腾了一个晚上终于搞定&lt;pre&gt;的内容自动换行的问题：</p>
<p>1.先尝试使用：word-wrap: break-word;将内容自动换行，IE，OP，Chrome，Safari都可以，FF就悲剧了。</p>
<p>点击查看：<a href="http://www.css88.com/demo/pre/index-2.html" target="_blank">http://www.css88.com/demo/pre/index-2.html</a></p>
<p>2.查看了pre的浏览器默认样式：<span id="more-2422"></span></p>
<pre>xmp, pre, plaintext {
  display: block;
  font-family: -moz-fixed;
  <span style="color: #ff0000;">white-space: pre;</span>
  margin: 1em 0;
}</pre>
<pre>都有这个white-space: pre，看看white-space的值：</pre>
<table class="dataintable">
<tbody>
<tr>
<th>值</th>
<th>描述</th>
</tr>
<tr>
<td>normal</td>
<td>默认。空白会被浏览器忽略。</td>
</tr>
<tr>
<td>pre</td>
<td>空白会被浏览器保留。其行为方式类似 HTML 中的 &lt;pre&gt; 标签。</td>
</tr>
<tr>
<td>nowrap</td>
<td>文本不会换行，文本会在在同一行上继续，直到遇到 &lt;br&gt; 标签为止。</td>
</tr>
<tr>
<td>pre-wrap</td>
<td>保留空白符序列，但是正常地进行换行。</td>
</tr>
<tr>
<td>pre-line</td>
<td>合并空白符序列，但是保留换行符。</td>
</tr>
<tr>
<td>inherit</td>
<td>规定应该从父元素继承 white-space 属性的值。</td>
</tr>
</tbody>
</table>
<p>有个pre-wrap，保留空白符序列，但是正常地进行换行。</p>
<p>这样就OK了搞定，我们只要加上样式：</p>
<div id="_mcePaste">pre {</div>
<div id="_mcePaste">white-space: pre-wrap;</div>
<div id="_mcePaste">word-wrap: break-word;</div>
<div id="_mcePaste">}</div>
<p>就能使&lt;pre&gt;的内容自动换行了。</p>
<p>点击查看：<a href="http://www.css88.com/demo/pre/" target="_blank">http://www.css88.com/demo/pre/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2422/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>各浏览器的默认CSS</title>
		<link>http://www.css88.com/archives/2418</link>
		<comments>http://www.css88.com/archives/2418#comments</comments>
		<pubDate>Wed, 28 Jul 2010 15:18:06 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[(x)html+css]]></category>
		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2418</guid>
		<description><![CDATA[在丸子主编的帮助下终于找到了各浏览器的默认CSS。只要是由于今天解决了一个特殊的问题，依靠的就是看各浏览器的默认CSS，然后重置它，所以很多时候浏览器的默认css还是很有用的。 各浏览器的默认CSS可以在这里http://www.iecss.com/找到，贪心一下，把这些样式都保存了一份： IE6(下载) IE7(下载) IE8(下载) IE9(下载) Firefox 3.6.3(下载) Webkit (r57042) (下载) Opera 10.51(下载) 当然我们还可以找到更老的一些浏览器默认样式： Firebird 0.7 Firefox 0.8 Firefox 0.9 Firefox 2.0.0.6 Firefox 2.0.0.12 Firefox 3.0b3 Firefox 3.0.1 Firefox 3.0.8 Flock 0.9.0.2 Flock 1.2.4 Flock 1.2.7 Konqueror 3.2.0 Mozilla 1.0.1 Mozilla 1.5 Navigator 6.1 Navigator 7.1 Navigator 8.1 Navigator 9.0b3 Safari 3.0.4 Safari x Safari [...]]]></description>
			<content:encoded><![CDATA[<p>在丸子主编的帮助下终于找到了各浏览器的默认CSS。只要是由于今天解决了一个特殊的问题，依靠的就是看各浏览器的默认CSS，然后重置它，所以很多时候浏览器的默认css还是很有用的。</p>
<p>各浏览器的默认CSS可以在这里<a href="http://www.iecss.com/" target="_blank">http://www.iecss.com/</a>找到，贪心一下，把这些样式都保存了一份：</p>
<ol>
<li><a title="Download the IE6 UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/ie-6.css">IE6(下载)</a></li>
<li><a title="Download the IE7 UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/ie-7.css">IE7(下载)</a></li>
<li><a title="Download the IE8 UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/ie-8.css">IE8(下载)</a><span id="more-2418"></span></li>
<li><a title="Download the IE9 UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/ie-9.css">IE9(下载)</a></li>
<li><a title="Download the Firefox 3.6.3 UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/firefox-3.6.3.css">Firefox 3.6.3(下载)</a></li>
<li><a title="Webkit (r57042) UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/webkit-r61376.css">Webkit (r57042) (下载)</a></li>
<li><a title="Opera 10.51 UA Style Sheet" href="http://www.css88.com/tool/User_Style_Sheet/opera-10.51.css">Opera 10.51(下载)</a></li>
</ol>
<p>当然我们还可以找到更老的一些浏览器默认样式：</p>
<ul>
<li><a href="http://hell.meiert.org/core/css/firebird-0.7.css">Firebird 0.7</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-0.8.css">Firefox 0.8</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-0.9.css">Firefox 0.9</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-2.0.0.6.css">Firefox 2.0.0.6</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-2.0.0.12.css">Firefox 2.0.0.12</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-3.0b3.css">Firefox 3.0b3</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-3.0.1.css">Firefox 3.0.1</a></li>
<li><a href="http://hell.meiert.org/core/css/firefox-3.0.8.css">Firefox 3.0.8</a></li>
<li><a href="http://hell.meiert.org/core/css/flock-0.9.0.2.css">Flock 0.9.0.2</a></li>
<li><a href="http://hell.meiert.org/core/css/flock-1.2.4.css">Flock 1.2.4</a></li>
<li><a href="http://hell.meiert.org/core/css/flock-1.2.7.css">Flock 1.2.7</a></li>
<li><a href="http://hell.meiert.org/core/css/konqueror-3.2.0.css">Konqueror 3.2.0</a></li>
<li><a href="http://hell.meiert.org/core/css/mozilla-1.0.1.css">Mozilla 1.0.1</a></li>
<li><a href="http://hell.meiert.org/core/css/mozilla-1.5.css">Mozilla 1.5</a></li>
<li><a href="http://hell.meiert.org/core/css/navigator-6.1.css">Navigator 6.1</a></li>
<li><a href="http://hell.meiert.org/core/css/navigator-7.1.css">Navigator 7.1</a></li>
<li><a href="http://hell.meiert.org/core/css/navigator-8.1.css">Navigator 8.1</a></li>
<li><a href="http://hell.meiert.org/core/css/navigator-9.0b3.css">Navigator 9.0b3</a></li>
<li><a href="http://hell.meiert.org/core/css/safari-3.0.4.css">Safari 3.0.4</a></li>
<li><a href="http://hell.meiert.org/core/css/safari-x.css">Safari <var>x</var></a></li>
<li><a href="http://hell.meiert.org/core/css/safari-3.1.2.css">Safari 3.1.2</a></li>
<li><a href="http://hell.meiert.org/core/css/seamonkey-1.1.2.css">SeaMonkey 1.1.2</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2418/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>腾讯即时通讯企业产品中心招聘Web前端开发工程师、网页重构工程师</title>
		<link>http://www.css88.com/archives/2401</link>
		<comments>http://www.css88.com/archives/2401#comments</comments>
		<pubDate>Wed, 21 Jul 2010 08:02:25 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[前端招聘]]></category>
		<category><![CDATA[招聘]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2401</guid>
		<description><![CDATA[工作地点：上海 Web前端开发工程师 工作职责： 1．负责web产品网站的前端实现； 2．协助web产品网站的性能优化； 职位要求： 1．精通各种Web前端技术，包括XHTML/XML/CSS/Javascript/ActionScript等（JS和AS之一即可）； 2．深刻理解Web标准，对可用性、可访问性等相关知识有实际的了解和实践经验； 3．有基于Ajax或Flash的RIA应用开发经验； 4．至少精通一门非Web前端脚本的语言（如Java/PHP/C++，PHP优先），并有项目经验； 5．个性乐观开朗，逻辑性强，善于和各种背景的人合作； 6．计算机、数学、自动化等相关专业本科以上学历优先； 7．两年工作经验以上。 ============================================== 网页重构工程师 工作职责： 1．负责web产品网站的页面原型实现； 2．协助web产品网站的性能优化； 职位要求： 1．对符合web标准的网站重构有丰富经验，有成功案例； 2．精通结构化语言xhtml、xml与解释性语言css； 3．精通图像处理软件与网页编辑软件； 4．对业界最新的页面实现有浓厚的兴趣和深入的见解； 5．逻辑分析能力强，善于沟通，较强的学习能力； 6．熟悉对象模型与脚本语言，有前台开发、门户网站重构经验者优先考虑； 7．计算机、数学、自动化等相关专业本科以上学历优先； 8．两年工作经验以上。 ========================================= 以上岗位来都为急聘，请直接发简历到：phourmliang@tencent.com，主题注明“xxx应聘xxx岗位 ”，条件符合者我们马上安排面试，谢谢！]]></description>
			<content:encoded><![CDATA[<p><strong>工作地点：上海</strong></p>
<p><strong> </strong></p>
<p><strong>Web</strong><strong>前端开发工程师</strong></p>
<p>工作职责：<br />
1．负责web产品网站的前端实现；<br />
2．协助web产品网站的性能优化； <strong> </strong></p>
<p>职位要求：<br />
1．精通各种Web前端技术，包括XHTML/XML/CSS/Javascript/ActionScript等（JS和AS之一即可）；<br />
2．深刻理解Web标准，对可用性、可访问性等相关知识有实际的了解和实践经验；<br />
3．有基于Ajax或Flash的RIA应用开发经验；<br />
4．至少精通一门非Web前端脚本的语言（如Java/PHP/C++，PHP优先），并有项目经验；<br />
5．个性乐观开朗，逻辑性强，善于和各种背景的人合作；<br />
6．计算机、数学、自动化等相关专业本科以上学历优先；<br />
7．两年工作经验以上。</p>
<p>==============================================</p>
<p><strong>网页重构工程师</strong></p>
<p>工作职责：<br />
1．负责web产品网站的页面原型实现；<br />
2．协助web产品网站的性能优化；</p>
<p>职位要求：<br />
1．对符合web标准的网站重构有丰富经验，有成功案例；<br />
2．精通结构化语言xhtml、xml与解释性语言css；<br />
3．精通图像处理软件与网页编辑软件；<br />
4．对业界最新的页面实现有浓厚的兴趣和深入的见解；<br />
5．逻辑分析能力强，善于沟通，较强的学习能力；<br />
6．熟悉对象模型与脚本语言，有前台开发、门户网站重构经验者优先考虑；</p>
<p>7．计算机、数学、自动化等相关专业本科以上学历优先；<br />
8．两年工作经验以上。</p>
<p>=========================================</p>
<p>以上岗位来都为急聘，请直接发简历到：phourmliang@tencent.com，主题注明“xxx应聘xxx岗位 ”，条件符合者我们马上安排面试，谢谢！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2401/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>JS森林杂志创办建议征集</title>
		<link>http://www.css88.com/archives/2399</link>
		<comments>http://www.css88.com/archives/2399#comments</comments>
		<pubDate>Tue, 20 Jul 2010 03:05:58 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[未分类]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2399</guid>
		<description><![CDATA[欢迎大家提出自己的看法，由于平常大家都忙于工作和学习，因此杂志内容会尽量简练却可以学到东西又不会太累。你想让杂志提供什么样的内容呢？欢迎在 http://www.jsforest.org/2010/07/19/jsfzine-is-running-out/ 留言，或者twitter森林：@jsforest_org]]></description>
			<content:encoded><![CDATA[<h1><span style="font-weight: normal; font-size: 13px;">欢迎大家提出自己的看法，由于平常大家都忙于工作和学习，因此杂志内容会尽量简练却可以学到东西又不会太累。你想让杂志提供什么样的内容呢？欢迎在</span></h1>
<h1><a href="http://www.jsforest.org/2010/07/19/jsfzine-is-running-out/">http://www.jsforest.org/2010/07/19/jsfzine-is-running-out/</a></h1>
<h1><span style="font-weight: normal; font-size: 13px;">留言，或者twitter森林：@jsforest_org</span></h1>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2399/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>页面模块化实现的条件和基本实现思路</title>
		<link>http://www.css88.com/archives/2389</link>
		<comments>http://www.css88.com/archives/2389#comments</comments>
		<pubDate>Sat, 10 Jul 2010 08:14:03 +0000</pubDate>
		<dc:creator>愚人码头</dc:creator>
				<category><![CDATA[(x)html+css]]></category>
		<category><![CDATA[前端观察]]></category>
		<category><![CDATA[页面模块化]]></category>

		<guid isPermaLink="false">http://www.css88.com/?p=2389</guid>
		<description><![CDATA[页面模块化实现的很大的受制于页面的结构和表现；一个统一的页面结构和表现能很好的实现页面的模块话。 比如一个“网友评论”模块这个会在很多地方使用到，比如日志，照片，等等，如果这个“网友评论”模块结果和表现是统一的那么我们就不用重复劳动去重新设计制作页面甚至是行为等等，包括后台的数据存贮。 《页面模块化（设想）》上面总结了页面模块化的优点，《前端模块化设计思路》也提到要做到模块化的前提条件： 为了做到这一点，我们需要有一个设计规则，所有的模块都在这个规则下进 行设计。良好的设计规则，会把耦合密集的设计参数进行归类作为一个模块，并以此划分工作任务。而模块之间彼此通过一个固定的接口（所谓的可见参数）进行交互，除此之外的内部实现（所谓的隐参数）则由模块的开发团队进行自由发挥。 我们应给怎么样建立一套设计规则呢？ 首先我们要从页面的表现开始，视觉上我们要采用统一的视觉设计规则，比如： 应用网页栅格化来确定网页布局； 页面标题栏，字体大小，文本间距统一； 表单类的表现统一，比如按钮，文本框等； 图片规格统一； 行为类的弹窗，浮层等表现统一； 等等&#8230; 其次为模块编写统一的html结构， 要合理使用语言化的标签； 可以保存成代码片段或者单独的html文件等， 如果需要可以加上适当的注释； 考虑扩张性和维护性； 再次编写为模块编写统一的css，比如： 要有统一的命名规则（查看鬼哥的命名规则），当然建议加上模块的命名规则，不过我的建议是在模块的命名规则前加上mode_前缀，例如： 弹出 mode_pop 公共 mode_global,mode_gb 标题 mode_title,mode_tit 提示 mode_hint 菜单 mode_menu 信息 mode_info 预览 mode_pvw Tips mode_tips 导航 mode_nav 当然你也可以根据你们团队重新命名一套规则；合适的才是最好的 做好基类和拓展类的设计,做好在不同页面模块变化的差异性；比如同一模块在A页面标题的字体是粗体，在B页面标题的字体是细体等等； 将每个模块的css保存成独立的独立的css文件； 如果需要可以加上适当的注释； 考虑扩张性和维护性 接下了为该模块添加行为（js），编写层面向对象的js，提高代码的复用率等等； 最后审视模块间的耦合问题，比如，留言模块和发日志，填表单都会使用到表单元素，按钮，文本框等，那么我认为我们应该把表单样式作为一个独立的css模块，html和js模块还是在原来的模块中。这需要我们对这些模块归类，从而更好，跟方便的的拼装我们的页面， html模块可以布局模块和功能模块等，比如 按功能分的功能模块，比如： 日志模块：日志列表，日志详细，日志评论（引用评论模块等等），日志发布（引用表单模块等等），日志管理等等 评论模块：评论列表，发表评论（引用表单模块等等），评论管理等等 相册模块：&#8230;&#8230; 工具条模块：&#8230;&#8230; &#8230;&#8230;等等； 按布局分的布局模块：比如栅格化中的一堆布局组合； css模块比较复杂大致的 按类别分的公共模块：重置模块（css [...]]]></description>
			<content:encoded><![CDATA[<p>页面模块化实现的很大的受制于页面的结构和表现；一个统一的页面结构和表现能很好的实现页面的模块话。</p>
<p>比如一个“网友评论”模块这个会在很多地方使用到，比如日志，照片，等等，如果这个“网友评论”模块结果和表现是统一的那么我们就不用重复劳动去重新设计制作页面甚至是行为等等，包括后台的数据存贮。</p>
<p>《<a href="http://www.css88.com/archives/2381" target="_blank">页面模块化（设想）</a>》上面总结了页面模块化的优点，《<a href="http://www.baiduux.com/blog/2010/02/24/%E5%89%8D%E7%AB%AF%E6%A8%A1%E5%9D%97%E5%8C%96%E8%AE%BE%E8%AE%A1%E6%80%9D%E8%B7%AF/" target="_blank">前端模块化设计思路</a>》也提到要做到模块化的前提条件：</p>
<blockquote><p>为了做到这一点，我们需要有一个设计规则，所有的模块都在这个规则下进 行设计。良好的设计规则，会把耦合密集的设计参数进行归类作为一个模块，并以此划分工作任务。而模块之间彼此通过一个固定的接口（所谓的可见参数）进行交互，除此之外的内部实现（所谓的隐参数）则由模块的开发团队进行自由发挥。</p></blockquote>
<p>我们应给怎么样建立一套设计规则呢？</p>
<p><strong>首先我们要从页面的表现开始，视觉上我们要采用统一的视觉设计规则，比如：</strong></p>
<ol>
<li>应用网页栅格化来确定网页布局；</li>
<li>页面标题栏，字体大小，文本间距统一；</li>
<li>表单类的表现统一，比如按钮，文本框等；</li>
<li>图片规格统一；</li>
<li>行为类的弹窗，浮层等表现统一；</li>
<li>等等&#8230;</li>
</ol>
<p><strong>其次为模块编写统一的html结构，</strong></p>
<ol>
<li>要合理使用语言化的标签；</li>
<li>可以保存成代码片段或者单独的html文件等，</li>
<li>如果需要可以加上适当的注释；</li>
<li>考虑扩张性和维护性；</li>
</ol>
<p><strong><span id="more-2389"></span>再次编写为模块编写统一的css，比如：</strong></p>
<ol>
<li>要有统一的命名规则（<a href="http://www.cssforest.org/blog/index.php?id=143" target="_blank">查看鬼哥的命名规则</a>），当然建议加上模块的命名规则，不过我的建议是在模块的命名规则前加上mode_前缀，例如：
<ul>
<li>弹出 mode_pop</li>
<li>公共 mode_global,mode_gb</li>
<li>标题 mode_title,mode_tit</li>
<li>提示 mode_hint</li>
<li>菜单 mode_menu</li>
<li>信息 mode_info</li>
<li>预览 mode_pvw</li>
<li>Tips mode_tips</li>
<li>导航 mode_nav</li>
</ul>
<p>当然你也可以根据你们团队重新命名一套规则；合适的才是最好的</li>
<li>做好基类和拓展类的设计,做好在不同页面模块变化的差异性；比如同一模块在A页面标题的字体是粗体，在B页面标题的字体是细体等等；</li>
<li>将每个模块的css保存成独立的独立的css文件；</li>
<li>如果需要可以加上适当的注释；</li>
<li>考虑扩张性和维护性</li>
</ol>
<p><strong>接下了为该模块添加行为（js），编写层面向对象的js，提高代码的复用率等等；</strong></p>
<p><strong>最后审视模块间的耦合问题，</strong>比如，留言模块和发日志，填表单都会使用到表单元素，按钮，文本框等，那么我认为我们应该把表单样式作为一个独立的css模块，html和js模块还是在原来的模块中。这需要我们对这些模块归类，从而更好，跟方便的的拼装我们的页面，</p>
<p>html模块可以布局模块和功能模块等，比如</p>
<ul>
<li>按功能分的功能模块，比如：
<ol>
<li>日志模块：日志列表，日志详细，日志评论（引用评论模块等等），日志发布（引用表单模块等等），日志管理等等</li>
<li>评论模块：评论列表，发表评论（引用表单模块等等），评论管理等等</li>
<li>相册模块：&#8230;&#8230;</li>
<li>工具条模块：&#8230;&#8230;</li>
<li>&#8230;&#8230;等等；</li>
</ol>
</li>
<li>按布局分的布局模块：比如栅格化中的一堆布局组合；</li>
</ul>
<p>css模块比较复杂大致的</p>
<ul>
<li>按类别分的公共模块：重置模块（css reset），表单模块，字体模块，文字、图片、图文列表模块，弹窗模块，标题模块，提示模块,应用小图标模块等等；这里模块绝大多数作为功能模块的部件，融入在各个模块中；</li>
<li>布局模块和功能模块可以参照html里的功能模块的拆分；</li>
</ul>
<p>行为js模块可能就相对简单一点,库模块，功能模块等，功能模块可以参照html里的功能模块的拆分；</p>
<p>合理的模块拆分和拼装在实现页面模块化中其中相对重要的作用，模块拆分和拼装的好可以大大的提高开发和维护的效率，反正甚至会影响到网页模块化的成败，给开发和维护带来相对重大的影响。</p>
<p>这样我们就有了网页模块化的基本实现思路，当然这是建立在设计规则上的，如果我们没有完备的设计规则，那么网页模块化就会变成网页魔鬼化，呵呵。</p>
<p>参考文章：</p>
<p><a href="http://www.baiduux.com/blog/2010/02/24/%E5%89%8D%E7%AB%AF%E6%A8%A1%E5%9D%97%E5%8C%96%E8%AE%BE%E8%AE%A1%E6%80%9D%E8%B7%AF/" target="_blank">前端模块化设计思路</a></p>
<p><a href="http://www.cssforest.org/blog/index.php?id=167">http://www.cssforest.org/blog/index.php?id=167</a></p>
<p><a href="http://www.cssforest.org/blog/index.php?id=143">http://www.cssforest.org/blog/index.php?id=143</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.css88.com/archives/2389/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
	</channel>
</rss>
