<?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>IT零食屋</title>
	<atom:link href="http://010wu.cn/feed" rel="self" type="application/rss+xml" />
	<link>http://010wu.cn</link>
	<description>IT零食屋 ~ 让您的网页设计生活更轻松、更简单，就像吃零食一样惬意。</description>
	<lastBuildDate>Tue, 08 Dec 2009 06:00:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.3</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>根据页面大小决定提取摘要的字数(续)</title>
		<link>http://010wu.cn/archives/2874</link>
		<comments>http://010wu.cn/archives/2874#comments</comments>
		<pubDate>Tue, 08 Dec 2009 06:00:10 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2874</guid>
		<description><![CDATA[根据页面大小决定提取摘要的字数 虽然解决了高低分辨率的问题，但是却没有解决浏览器大小切换时的自适应，不知道大家有什么办法解决？
]]></description>
			<content:encoded><![CDATA[<p><a href="http://010wu.cn/archives/2870 ">根据页面大小决定提取摘要的字数</a> 虽然解决了高低分辨率的问题，但是却没有解决浏览器大小切换时的自适应，不知道大家有什么办法解决？</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2874/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>根据页面大小决定提取摘要的字数</title>
		<link>http://010wu.cn/archives/2870</link>
		<comments>http://010wu.cn/archives/2870#comments</comments>
		<pubDate>Tue, 08 Dec 2009 05:53:35 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[摘要]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2870</guid>
		<description><![CDATA[由于中期网要整改新的栏目页，以提高用户体验，俺可算是下了番苦心
最后整了这么个测试页面（http://www.cnffi.com/test.html ）希望大家多多指点，纠正俺的错误以及不足之处 tks
进入正题，考虑到现在用户的显示器大小以及分辨率差异性非常大，所以这个页面采用了自适应大小设计，因此引发出高分辨率与低分辨率下摘要显示不尽人意，所以使用jQuery采取了下面这套方案：

$&#40;document&#41;.ready&#40;function&#40;&#41;&#123;
&#160;
 //栏目页左侧 摘要截取       
 var obj = $&#40;&#34;#leftcolumn&#34;&#41;;        
 var offset = obj.offset&#40;&#41;; 
 var leftwidth = obj.width&#40;&#41;;      
 
 
  var i = leftwidth / 6;
  $&#40;&#34;#leftcolumn &#38;gt; .post &#38;gt; p&#34;&#41;.attr&#40;&#34;limit&#34;,i&#41;;
   
  jQuery.fn.limit=function&#40;&#41;&#123;
   var self = $&#40;&#34;#leftcolumn &#38;gt; .post &#38;gt; p[limit]&#34;&#41;;
   self.each&#40;function&#40;&#41;&#123;
    var objString = $&#40;this&#41;.text&#40;&#41;;
    var objLength = $&#40;this&#41;.text&#40;&#41;.length;
    var num = $&#40;this&#41;.attr&#40;&#34;limit&#34;&#41;;
    if&#40;objLength &#38;gt; num&#41;&#123;
     //$(this).attr(&#34;title&#34;,objString);
     objString = $&#40;this&#41;.text&#40;objString.substring&#40;0,num&#41; + &#34;...&#34;&#41;;
    &#125;
   &#125;&#41;
  &#125;  
  $&#40;function&#40;&#41;&#123;
   $&#40;document.body&#41;.limit&#40;&#41;;
  &#125;&#41;
&#160;
&#125;&#41;;

]]></description>
			<content:encoded><![CDATA[<p>由于<a href="http://www.cnffi.com/">中期网</a>要整改新的栏目页，以提高用户体验，俺可算是下了番苦心<br />
最后整了这么个测试页面（<a href="http://www.cnffi.com/test.html">http://www.cnffi.com/test.html</a> ）希望大家多多指点，纠正俺的错误以及不足之处 tks</p>
<p>进入正题，考虑到现在用户的显示器大小以及分辨率差异性非常大，所以这个页面采用了自适应大小设计，因此引发出高分辨率与低分辨率下摘要显示不尽人意，所以使用jQuery采取了下面这套方案：</p>

<div class="wp_codebox"><table width="100%" ><tr id="p28702"><td class="code" id="p2870code2"><pre class="javascript" style="font-family:monospace;">$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
 <span style="color: #006600; font-style: italic;">//栏目页左侧 摘要截取       </span>
 <span style="color: #003366; font-weight: bold;">var</span> obj <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#leftcolumn&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>        
 <span style="color: #003366; font-weight: bold;">var</span> offset <span style="color: #339933;">=</span> obj.<span style="color: #660066;">offset</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> 
 <span style="color: #003366; font-weight: bold;">var</span> leftwidth <span style="color: #339933;">=</span> obj.<span style="color: #660066;">width</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>      
 
 
  <span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> leftwidth <span style="color: #339933;">/</span> <span style="color: #CC0000;">6</span><span style="color: #339933;">;</span>
  $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#leftcolumn &amp;gt; .post &amp;gt; p&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;limit&quot;</span><span style="color: #339933;">,</span>i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   
  jQuery.<span style="color: #660066;">fn</span>.<span style="color: #660066;">limit</span><span style="color: #339933;">=</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   <span style="color: #003366; font-weight: bold;">var</span> self <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;#leftcolumn &amp;gt; .post &amp;gt; p[limit]&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
   self.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
    <span style="color: #003366; font-weight: bold;">var</span> objString <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> objLength <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">length</span><span style="color: #339933;">;</span>
    <span style="color: #003366; font-weight: bold;">var</span> num <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">attr</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;limit&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #000066; font-weight: bold;">if</span><span style="color: #009900;">&#40;</span>objLength <span style="color: #339933;">&amp;</span>gt<span style="color: #339933;">;</span> num<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
     <span style="color: #006600; font-style: italic;">//$(this).attr(&quot;title&quot;,objString);</span>
     objString <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span>objString.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span>num<span style="color: #009900;">&#41;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">&quot;...&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
   <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
  <span style="color: #009900;">&#125;</span>  
  $<span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
   $<span style="color: #009900;">&#40;</span>document.<span style="color: #660066;">body</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">limit</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
  <span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span>
&nbsp;
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2870/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>判断段落前有没有空两格</title>
		<link>http://010wu.cn/archives/2860</link>
		<comments>http://010wu.cn/archives/2860#comments</comments>
		<pubDate>Tue, 08 Dec 2009 05:34:35 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[判断]]></category>
		<category><![CDATA[空两格]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2860</guid>
		<description><![CDATA[判断段落前有没有空两格,如果没有，则插入两格空格
小弟献丑了（代码如下）：

&#160;
&#60;script type=&#34;text/javascript&#34; src=&#34;js/jquery.min.js&#34;&#62;&#60;/script&#62;
&#60;script type=&#34;text/javascript&#34;&#62; 
$&#40;document&#41;.ready&#40;function&#40;&#41; &#123;		
	$&#40;&#34;p&#34;&#41;.each&#40;function&#40;i&#41;&#123;		
		var objString = $&#40;this&#41;.text&#40;&#41;;
		var ptest = objString.substring&#40;0,2&#41;;
		if &#40;ptest!=&#34;　　&#34;&#41;&#123;
			//$(&#34;p:eq(&#34;+i+&#34;)&#34;).addClass(&#34;class&#34;);	
			$&#40;&#34;p:eq(&#34;+i+&#34;)&#34;&#41;.prepend&#40;&#34;　　&#34;&#41;;
		&#125;
	&#125;&#41;;
&#125;&#41;;
&#160;
&#60;/script&#62;

 
有问题请多多指点！
]]></description>
			<content:encoded><![CDATA[<p>判断段落前有没有空两格,如果没有，则插入两格空格</p>
<p>小弟献丑了（代码如下）：</p>

<div class="wp_codebox"><table width="100%" ><tr id="p28604"><td class="code" id="p2860code4"><pre class="javascript" style="font-family:monospace;">&nbsp;
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> src<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;js/jquery.min.js&quot;</span><span style="color: #339933;">&gt;&lt;/</span>script<span style="color: #339933;">&gt;</span>
<span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span><span style="color: #339933;">&gt;</span> 
$<span style="color: #009900;">&#40;</span>document<span style="color: #009900;">&#41;</span>.<span style="color: #660066;">ready</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>		
	$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;p&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">each</span><span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>i<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>		
		<span style="color: #003366; font-weight: bold;">var</span> objString <span style="color: #339933;">=</span> $<span style="color: #009900;">&#40;</span><span style="color: #000066; font-weight: bold;">this</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">text</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #003366; font-weight: bold;">var</span> ptest <span style="color: #339933;">=</span> objString.<span style="color: #660066;">substring</span><span style="color: #009900;">&#40;</span><span style="color: #CC0000;">0</span><span style="color: #339933;">,</span><span style="color: #CC0000;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #009900;">&#40;</span>ptest<span style="color: #339933;">!=</span><span style="color: #3366CC;">&quot;　　&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #006600; font-style: italic;">//$(&quot;p:eq(&quot;+i+&quot;)&quot;).addClass(&quot;class&quot;);	</span>
			$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;p:eq(&quot;</span><span style="color: #339933;">+</span>i<span style="color: #339933;">+</span><span style="color: #3366CC;">&quot;)&quot;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">prepend</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">&quot;　　&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #009900;">&#125;</span>
	<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></td></tr></table></div>

<p> <br />
有问题请多多指点！</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2860/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>了解一下浏览器都是怎么干活的</title>
		<link>http://010wu.cn/archives/2857</link>
		<comments>http://010wu.cn/archives/2857#comments</comments>
		<pubDate>Mon, 07 Dec 2009 05:35:26 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[技巧 & 教程]]></category>
		<category><![CDATA[最新更新]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2857</guid>
		<description><![CDATA[用户输入网址（假设是个html页面，并且是第一次访问），浏览器向服务器发出请求，服务器返回html文件；
浏览器开始载入html代码，发现&#60;head&#62;标签内有一个&#60;link&#62;标签引用外部CSS文件；
浏览器又发出CSS文件的请求，服务器返回这个CSS文件；
浏览器继续载入html中&#60;body&#62;部分的代码，并且CSS文件已经拿到手了，可以开始渲染页面了；
浏览器在代码中发现一个&#60;img&#62;标签引用了一张图片，向服务器发出请求。此时浏览器不会等到图片下载完，而是继续渲染后面的代码；
服务器返回图片文件，由于图片占用了一定面积，影响了后面段落的排布，因此浏览器需要回过头来重新渲染这部分代码；
浏览器发现了一个包含一行Javascript代码的&#60;script&#62;标签，赶快运行它；
Javascript脚本执行了这条语句，它命令浏览器隐藏掉代码中的某个&#60;div&#62;（style.display=”none”）。杯具啊，突然就少了这么一个元素，浏览器不得不重新渲染这部分代码；
终于等到了&#60;/html&#62;的到来，浏览器泪流满面……
等等，还没完，用户点了一下界面中的“换肤”按钮，Javascript让浏览器换了一下&#60;link&#62;标签的CSS路径；
浏览器召集了在座的各位&#60;div&#62;&#60;span&#62;&#60;ul&#62;&#60;li&#62;们，“大伙儿收拾收拾行李，咱得重新来过……”，浏览器向服务器请求了新的CSS文件，重新渲染页面。
]]></description>
			<content:encoded><![CDATA[<li>用户输入网址（假设是个html页面，并且是第一次访问），浏览器向服务器发出请求，服务器返回html文件；</li>
<li>浏览器开始载入html代码，发现&lt;head&gt;标签内有一个&lt;link&gt;标签引用外部CSS文件；</li>
<li>浏览器又发出CSS文件的请求，服务器返回这个CSS文件；</li>
<li>浏览器继续载入html中&lt;body&gt;部分的代码，并且CSS文件已经拿到手了，可以开始渲染页面了；</li>
<li>浏览器在代码中发现一个&lt;img&gt;标签引用了一张图片，向服务器发出请求。此时浏览器不会等到图片下载完，而是继续渲染后面的代码；</li>
<li>服务器返回图片文件，由于图片占用了一定面积，影响了后面段落的排布，因此浏览器需要回过头来重新渲染这部分代码；</li>
<li>浏览器发现了一个包含一行Javascript代码的&lt;script&gt;标签，赶快运行它；</li>
<li>Javascript脚本执行了这条语句，它命令浏览器隐藏掉代码中的某个&lt;div&gt;（style.display=”none”）。杯具啊，突然就少了这么一个元素，浏览器不得不重新渲染这部分代码；</li>
<li>终于等到了&lt;/html&gt;的到来，浏览器泪流满面……</li>
<li>等等，还没完，用户点了一下界面中的“换肤”按钮，Javascript让浏览器换了一下&lt;link&gt;标签的CSS路径；</li>
<li>浏览器召集了在座的各位&lt;div&gt;&lt;span&gt;&lt;ul&gt;&lt;li&gt;们，“大伙儿收拾收拾行李，咱得重新来过……”，浏览器向服务器请求了新的CSS文件，重新渲染页面。</li>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2857/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>一些javascript基础函数等等</title>
		<link>http://010wu.cn/archives/2855</link>
		<comments>http://010wu.cn/archives/2855#comments</comments>
		<pubDate>Thu, 03 Dec 2009 08:25:21 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[基础]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2855</guid>
		<description><![CDATA[介绍一些javascript基本函数

1.document.write(”&#8221;);为 输出语句
2.JS中的注释为//
3.传统的HTML文档顺序是:document-&#62;html-&#62;(head,body)
4.一个浏览器窗口中的DOM顺序是:window-&#62;(navigator,screen,history,location,document)
5.得到表单中元素的名称和值:document.getElementById(”表单中元素的ID号”).name(或value)
6.一个小写转大写的JS: document.getElementById(”output”).value = document.getElementById(”input”).value.toUpperCase();
7.JS中的值类型:String,Number,Boolean,Null,Object,Function
8.JS中的字符型转换成数值型:parseInt(),parseFloat()
9.JS中的数字转换成字符型:(”&#8221;+变量)
10.JS中的取字符串长度是:(length)
11.JS中的字符与字符相连接使用+号.
12.JS中的比较操作符有:==等于,!=不等于,&#62;,&#62;=,&#60;.&#60;=
13.JS中声明变量使用:var来进行声明
14.JS中的判断语句结构:if(condition){}else{}
15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}
16.循环中止的命令是:break
17.JS中的函数定义:function functionName([parameter],…){statement[s]}
18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.
19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self
20.状态栏的设置:window.status=”字符”;
21.弹出提示信息:window.alert(”字符”);
22.弹出确认框:window.confirm();
23.弹出输入提示框:window.prompt();
24.指定当前显示链接的位置:window.location.href=”URL”
25.取出窗体中的所有表单的数量:document.forms.length
26.关闭文档的输出流:document.close();
27.字符串追加连接符:+=
28.创建一个文档元素:document.createElement(),document.createTextNode()
29.得到元素的方法:document.getElementById()
49.引用一个文件式的JS:&#60;script type=”text/javascript” src=”aaa.js”&#62;&#60;/script&#62;
50.指定在不支持脚本的浏览器显示的HTML:&#60;noscript&#62;&#60;/noscript&#62;
51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:&#60;a href=”a.html” onclick=”location.href=’b.html’;return false”&#62;dfsadf&#60;/a&#62;
52.JS 的内建对象 有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError
53.JS中的换行:\n
54.窗口全屏大小:&#60;script&#62;function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;&#60;/script&#62;
55.JS中的all代表其下层的全部元素
56.JS中的焦点顺序:document.getElementByid(”表单元素”).tabIndex = 1
57.innerHTML的值是表单元素的值:如&#60;p id=”para”&#62;”how are &#60;em&#62;you&#60;/em&#62;”&#60;p&#62;&#60;/p&#62;,则innerHTML的值就是:how are &#60;em&#62;you&#60;/em&#62;
58.innerTEXT的值和上面的一样,只不过不会把&#60;em&#62;这种标记显示出来.
59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.
60.isDisabled判断是否为禁止状态.disabled设置禁止状态
61.length取得长度,返回整型数值
62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc
63.window.focus()使当前的窗口在所有窗口之前.
64.blur()指失去焦点.与FOCUS()相反.
65.select()指元素为选中状态.
66.防止用户对文本框中输入文本:onfocus=”this.blur()”
67.取出该元素在页面中出现的数量:document.all.tags(”div(或其它HTML标记符)”).length
68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()
69.状态栏文字的设置:window.status=’文字’,默认的状态栏文字设置:window.defaultStatus = ’文字.’;
70.添加到收藏夹:external.AddFavorite(”http://www.google.com”,”Google”);
71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;
72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener…的多重继续.
73.JS中的self指的是当前的窗口
74.JS中状态栏显示内容:window.status=”内容”
75.JS中的top指的是框架集中最顶层的框架
76.JS中关闭当前的窗口:window.close();
77.JS中提出是否确认的框:if(confirm(”Are you sure?”)){alert(”ok”);}else{alert(”Not Ok”);}
78.JS中的窗口重定向:window.navigate(”http://www.google.com”);
79.JS中的打印:window.print()
80.JS中的提示输入框:window.prompt(”message”,”defaultReply”);
81.JS中的窗口滚动条:window.scroll(x,y)
82.JS中的窗口滚动到位置:window.scrollby
83.JS中设置时间间隔:setInterval(”expr”,msecDelay)或setInterval(funcRef,msecDelay)或setTimeout
84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog(”URL”[,arguments][,features]);
85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue=”we really like you and hope you will stay longer.”;}}   window.onbeforeunload=verifyClose;
86.当窗体第一次调用时使用的文件句柄:onload()
87.当窗体关闭时调用的文件句柄:onunload()
88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname(”/a/a.html”),hash(”#giantGizmo”,指跳转到相应的锚记),href(全部的信息)
89.window.location.reload()刷新当前页面.
89-1.parent.location.reload()刷新父亲对象（用于框架）
89-2.opener.location.reload()刷新父窗口对象（用于单开窗口）
89-3.top.location.reload()刷新最顶端对象（用于多开窗口）
90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)
91.document.write()不换行的输出,document.writeln()换行输出
92.document.body.noWrap=true;防止链接文字折行.
93.变量名.charAt(第几位),取该变量的第几位的字符.
94.”abc”.charCodeAt(第几个),返回第几个字符的ASCii码值.
95.字符串连接:string.concat(string2),或用+=进行连接
96.变量.indexOf(”字符”,起始位置),返回第一个出现的位置(从0开始计算)
97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.
98.string.match(regExpression),判断字符是否匹配.
99.string.replace(regExpression,replaceString)替换现有字符串.
100.string.split(分隔符)返回一个数组存储值.
101.string.substr(start[,length])取从第几位到指定长度的字符串.
102.string.toLowerCase()使字符串全部变为小写.
103.string.toUpperCase()使全部字符变为大写.
104.parseInt(string[,radix(代表进制)])强制转换成整型.
105.parseFloat(string[,radix])强制转换成浮点型.
106.isNaN(变量):测试是否为数值型.
107.定义常量的关键字:const,定义变量的关键字:var

]]></description>
			<content:encoded><![CDATA[<p>介绍一些javascript基本函数</p>
<ul>
<li>1.document.write(”&#8221;);为 输出语句</li>
<li>2.JS中的注释为//</li>
<li>3.传统的HTML文档顺序是:document-&gt;html-&gt;(head,body)</li>
<li>4.一个浏览器窗口中的DOM顺序是:window-&gt;(navigator,screen,history,location,document)</li>
<li>5.得到表单中元素的名称和值:document.getElementById(”表单中元素的ID号”).name(或value)</li>
<li>6.一个小写转大写的JS: document.getElementById(”output”).value = document.getElementById(”input”).value.toUpperCase();</li>
<li>7.JS中的值类型:String,Number,Boolean,Null,Object,Function</li>
<li>8.JS中的字符型转换成数值型:parseInt(),parseFloat()</li>
<li>9.JS中的数字转换成字符型:(”&#8221;+变量)</li>
<li>10.JS中的取字符串长度是:(length)</li>
<li>11.JS中的字符与字符相连接使用+号.</li>
<li>12.JS中的比较操作符有:==等于,!=不等于,&gt;,&gt;=,&lt;.&lt;=</li>
<li>13.JS中声明变量使用:var来进行声明</li>
<li>14.JS中的判断语句结构:if(condition){}else{}</li>
<li>15.JS中的循环结构:for([initial expression];[condition];[upadte expression]) {inside loop}</li>
<li>16.循环中止的命令是:break</li>
<li>17.JS中的函数定义:function functionName([parameter],…){statement[s]}</li>
<li>18.当文件中出现多个form表单时.可以用document.forms[0],document.forms[1]来代替.</li>
<li>19.窗口:打开窗口window.open(), 关闭一个窗口:window.close(), 窗口本身:self</li>
<li>20.状态栏的设置:window.status=”字符”;</li>
<li>21.弹出提示信息:window.alert(”字符”);</li>
<li>22.弹出确认框:window.confirm();</li>
<li>23.弹出输入提示框:window.prompt();</li>
<li>24.指定当前显示链接的位置:window.location.href=”URL”</li>
<li>25.取出窗体中的所有表单的数量:document.forms.length</li>
<li>26.关闭文档的输出流:document.close();</li>
<li>27.字符串追加连接符:+=</li>
<li>28.创建一个文档元素:document.createElement(),document.createTextNode()</li>
<li>29.得到元素的方法:document.getElementById()</li>
<li>49.引用一个文件式的JS:&lt;script type=”text/javascript” src=”aaa.js”&gt;&lt;/script&gt;</li>
<li>50.指定在不支持脚本的浏览器显示的HTML:&lt;noscript&gt;&lt;/noscript&gt;</li>
<li>51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:&lt;a href=”a.html” onclick=”location.href=’b.html’;return false”&gt;dfsadf&lt;/a&gt;</li>
<li>52.JS 的内建对象 有:Array,Boolean,Date,Error,EvalError,Function,Math,Number,Object,RangeError,ReferenceError,RegExp,String,SyntaxError,TypeError,URIError</li>
<li>53.JS中的换行:\n</li>
<li>54.窗口全屏大小:&lt;script&gt;function fullScreen(){ this.moveTo(0,0);this.outerWidth=screen.availWidth;this.outerHeight=screen.availHeight;}window.maximize=fullScreen;&lt;/script&gt;</li>
<li>55.JS中的all代表其下层的全部元素</li>
<li>56.JS中的焦点顺序:document.getElementByid(”表单元素”).tabIndex = 1</li>
<li>57.innerHTML的值是表单元素的值:如&lt;p id=”para”&gt;”how are &lt;em&gt;you&lt;/em&gt;”&lt;p&gt;&lt;/p&gt;,则innerHTML的值就是:how are &lt;em&gt;you&lt;/em&gt;</li>
<li>58.innerTEXT的值和上面的一样,只不过不会把&lt;em&gt;这种标记显示出来.</li>
<li>59.contentEditable可设置元素是否可被修改,isContentEditable返回是否可修改的状态.</li>
<li>60.isDisabled判断是否为禁止状态.disabled设置禁止状态</li>
<li>61.length取得长度,返回整型数值</li>
<li>62.addBehavior()是一种JS调用的外部函数文件其扩展名为.htc</li>
<li>63.window.focus()使当前的窗口在所有窗口之前.</li>
<li>64.blur()指失去焦点.与FOCUS()相反.</li>
<li>65.select()指元素为选中状态.</li>
<li>66.防止用户对文本框中输入文本:onfocus=”this.blur()”</li>
<li>67.取出该元素在页面中出现的数量:document.all.tags(”div(或其它HTML标记符)”).length</li>
<li>68.JS中分为两种窗体输出:模态和非模态.window.showModaldialog(),window.showModeless()</li>
<li>69.状态栏文字的设置:window.status=’文字’,默认的状态栏文字设置:window.defaultStatus = ’文字.’;</li>
<li>70.添加到收藏夹:external.AddFavorite(”http://www.google.com”,”Google”);</li>
<li>71.JS中遇到脚本错误时不做任何操作:window.onerror = doNothing; 指定错误句柄的语法为:window.onerror = handleError;</li>
<li>72.JS中指定当前打开窗口的父窗口:window.opener,支持opener.opener…的多重继续.</li>
<li>73.JS中的self指的是当前的窗口</li>
<li>74.JS中状态栏显示内容:window.status=”内容”</li>
<li>75.JS中的top指的是框架集中最顶层的框架</li>
<li>76.JS中关闭当前的窗口:window.close();</li>
<li>77.JS中提出是否确认的框:if(confirm(”Are you sure?”)){alert(”ok”);}else{alert(”Not Ok”);}</li>
<li>78.JS中的窗口重定向:window.navigate(”http://www.google.com”);</li>
<li>79.JS中的打印:window.print()</li>
<li>80.JS中的提示输入框:window.prompt(”message”,”defaultReply”);</li>
<li>81.JS中的窗口滚动条:window.scroll(x,y)</li>
<li>82.JS中的窗口滚动到位置:window.scrollby</li>
<li>83.JS中设置时间间隔:setInterval(”expr”,msecDelay)或setInterval(funcRef,msecDelay)或setTimeout</li>
<li>84.JS中的模态显示在IE4+行,在NN中不行:showModalDialog(”URL”[,arguments][,features]);</li>
<li>85.JS中的退出之前使用的句柄:function verifyClose(){event.returnValue=”we really like you and hope you will stay longer.”;}}   window.onbeforeunload=verifyClose;</li>
<li>86.当窗体第一次调用时使用的文件句柄:onload()</li>
<li>87.当窗体关闭时调用的文件句柄:onunload()</li>
<li>88.window.location的属性: protocol(http:),hostname(www.example.com),port(80),host(www.example.com:80),pathname(”/a/a.html”),hash(”#giantGizmo”,指跳转到相应的锚记),href(全部的信息)</li>
<li>89.window.location.reload()刷新当前页面.</li>
<li>89-1.parent.location.reload()刷新父亲对象（用于框架）</li>
<li>89-2.opener.location.reload()刷新父窗口对象（用于单开窗口）</li>
<li>89-3.top.location.reload()刷新最顶端对象（用于多开窗口）</li>
<li>90.window.history.back()返回上一页,window.history.forward()返回下一页,window.history.go(返回第几页,也可以使用访问过的URL)</li>
<li>91.document.write()不换行的输出,document.writeln()换行输出</li>
<li>92.document.body.noWrap=true;防止链接文字折行.</li>
<li>93.变量名.charAt(第几位),取该变量的第几位的字符.</li>
<li>94.”abc”.charCodeAt(第几个),返回第几个字符的ASCii码值.</li>
<li>95.字符串连接:string.concat(string2),或用+=进行连接</li>
<li>96.变量.indexOf(”字符”,起始位置),返回第一个出现的位置(从0开始计算)</li>
<li>97.string.lastIndexOf(searchString[,startIndex])最后一次出现的位置.</li>
<li>98.string.match(regExpression),判断字符是否匹配.</li>
<li>99.string.replace(regExpression,replaceString)替换现有字符串.</li>
<li>100.string.split(分隔符)返回一个数组存储值.</li>
<li>101.string.substr(start[,length])取从第几位到指定长度的字符串.</li>
<li>102.string.toLowerCase()使字符串全部变为小写.</li>
<li>103.string.toUpperCase()使全部字符变为大写.</li>
<li>104.parseInt(string[,radix(代表进制)])强制转换成整型.</li>
<li>105.parseFloat(string[,radix])强制转换成浮点型.</li>
<li>106.isNaN(变量):测试是否为数值型.</li>
<li>107.定义常量的关键字:const,定义变量的关键字:var</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2855/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jquery 刷新页面方法</title>
		<link>http://010wu.cn/archives/2853</link>
		<comments>http://010wu.cn/archives/2853#comments</comments>
		<pubDate>Thu, 03 Dec 2009 08:24:18 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[jquery]]></category>
		<category><![CDATA[刷新]]></category>
		<category><![CDATA[页面]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2853</guid>
		<description><![CDATA[局部刷新：
这个方法就多了去了，常见的有以下几种；
$.get方法，$.post方法，$.getJson方法,$.ajax方法如下
前两种使用方法基本上一样
$.get(”Default.php”, {id:”1″, page: “2″ },
function(data){
//这里是回调方法。返回data数据。这里想怎么处理就怎么处理了。
});
$.getScript方法：
$.getScript(”http://jqueryajax.com/jquery.js”,
function(){
$(”#go”).click(function(){//回调方法
$(”.block”).animate( { backgroundColor: ‘pink’ }, 1000)
.animate( { backgroundColor: ‘blue’ }, 1000);
});
});
$.getJson只是返回的数据类型不一样
$.getJson(”Default.php”, {id:”1″, page: “2″ },
function(data){
//注意，这里返回的JSON数据引用方法为”data.info”,不明白的可以查一下json方面的教程。这里就不解释太多了
});
$.ajax 这个方法估计用的人很多吧。不过我不太喜欢用这个。个人觉得前面两个更方便
$.ajax({
type: “POST”, //提交的类型
url: “some.php”,//提交地址
data: “name=John&#38;location=Boston”,//参数
success: function(msg){ //回调方法
alert( “Data Saved: ” + msg );//这里是方法内容，和上面的get方法一样
}
});
 
全页面刷新方法：

window.location.reload()刷新当前页面.
parent.location.reload()刷新父亲对象（用于框架）
opener.location.reload()刷新父窗口对象（用于单开窗口）
top.location.reload()刷新最顶端对象（用于多开窗口）
]]></description>
			<content:encoded><![CDATA[<h2>局部刷新：</h2>
<p>这个方法就多了去了，常见的有以下几种；</p>
<p>$.get方法，$.post方法，$.getJson方法,$.ajax方法如下</p>
<p>前两种使用方法基本上一样</p>
<p>$.get(”Default.php”, {id:”1″, page: “2″ },<br />
function(data){<br />
//这里是回调方法。返回data数据。这里想怎么处理就怎么处理了。<br />
});</p>
<p>$.getScript方法：</p>
<p>$.getScript(”http://jqueryajax.com/jquery.js”,<br />
function(){<br />
$(”#go”).click(function(){//回调方法<br />
$(”.block”).animate( { backgroundColor: ‘pink’ }, 1000)<br />
.animate( { backgroundColor: ‘blue’ }, 1000);<br />
});<br />
});</p>
<p>$.getJson只是返回的数据类型不一样</p>
<p>$.getJson(”Default.php”, {id:”1″, page: “2″ },<br />
function(data){<br />
//注意，这里返回的JSON数据引用方法为”data.info”,不明白的可以查一下json方面的教程。这里就不解释太多了<br />
});</p>
<p>$.ajax 这个方法估计用的人很多吧。不过我不太喜欢用这个。个人觉得前面两个更方便</p>
<p>$.ajax({<br />
type: “POST”, //提交的类型<br />
url: “some.php”,//提交地址<br />
data: “name=John&amp;location=Boston”,//参数<br />
success: function(msg){ //回调方法<br />
alert( “Data Saved: ” + msg );//这里是方法内容，和上面的get方法一样<br />
}<br />
});</p>
<p> </p>
<h2>全页面刷新方法：</h2>
<p><span><br />
</span>window.location.reload()刷新当前页面.<br />
parent.location.reload()刷新父亲对象（用于框架）<br />
opener.location.reload()刷新父窗口对象（用于单开窗口）<br />
top.location.reload()刷新最顶端对象（用于多开窗口）</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2853/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>jQuery常用技巧大放送</title>
		<link>http://010wu.cn/archives/2849</link>
		<comments>http://010wu.cn/archives/2849#comments</comments>
		<pubDate>Thu, 03 Dec 2009 01:47:13 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[jquery]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2849</guid>
		<description><![CDATA[1、关于页面元素的引用
通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法，且返回的对象为jquery对象（集合对象），不能直接调用dom定义的方法。
2、jQuery对象与dom对象的转换
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的，调用方法时要注意操作的是dom对象还是jquery对象。
普通的dom对象一般可以通过$()转换成jquery对象。
如：$(document.getElementById(”msg”))则为jquery对象，可以使用jquery的方法。
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项，一般可通过索引取出。
如：$(”#msg”)[0]，$(”div”).eq(1)[0]，$(”div”).get()[1]，$(”td”)[5]这些都是dom对象，可以使用dom中的方法，但不能再使用Jquery的方法。
以下几种写法都是正确的：
$(”#msg”).html();
$(”#msg”)[0].innerHTML;
$(”#msg”).eq(0)[0].innerHTML;
$(”#msg”).get(0).innerHTML;
3、如何获取jQuery集合的某一项
对于获取的元素集合，获取其中的某一项（通过索引指定）可以使用eq或get(n)方法或者索引号获取，要注意，eq返回的是jquery对象，而get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法，而dom对象只能使用dom的方法，如要获取第三个&#60;div&#62;元素的内容。有如下两种方法：
$(”div”).eq(2).html();    //调用jquery对象的方法
$(”div”).get(2).innerHTML; //调用dom的方法属性
4、同一函数实现set和get
Jquery中的很多方法都是如此，主要包括如下几个：
$(”#msg”).html();    //返回id为msg的元素节点的html内容。
$(”#msg”).html(”&#60;b&#62;new content&#60;/b&#62;”);
//将“&#60;b&#62;new content&#60;/b&#62;” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content
$(”#msg”).text();    //返回id为msg的元素节点的文本内容。
$(”#msg”).text(”&#60;b&#62;new content&#60;/b&#62;”);
//将“&#60;b&#62;new content&#60;/b&#62;” 作为普通文本串写入id为msg的元素节点内容中,页面显示&#60;b&#62;new content&#60;/b&#62;
$(”#msg”).height();    //返回id为msg的元素的高度
$(”#msg”).height(”300″); //将id为msg的元素的高度设为300
$(”#msg”).width();    //返回id为msg的元素的宽度
$(”#msg”).width(”300″); //将id为msg的元素的宽度设为300
$(”input”).val(”); //返回表单输入框的value值
$(”input”).val(”test”); //将表单输入框的value值设为test
$(”#msg”).click(); //触发id为msg的元素的单击事件
$(”#msg”).click(fn); //为id为msg的元素单击事件添加函数
同样blur,focus,select,submit事件都可以有着两种调用方法
5、集合处理功能
对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理，jquery已经为我们提供的很方便的方法进行集合的处理。
包括两种形式：
$(”p”).each(function(i){this.style.color=['#f00','#0f0','#00f'][ i ]})
//为索引分别为0，1，2的p元素分别设定不同的字体颜色。
$(”tr”).each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})
//实现表格的隔行换色效果
$(”p”).click(function(){alert($(this).html())})
//为每个p元素增加了click事件，单击某个p元素则弹出其内容
6、扩展我们需要的功能
$.extend({
min: function(a, b){return a &#60; b?a:b; },
max: function(a, b){return a &#62; b?a:b; }
}); //为jquery扩展了min,max两个方法
使用扩展的方法（通过“$.方法名”调用）：
alert(”a=10,b=20,max=”+$.max(10,20)+”,min=”+$.min(10,20));
7、支持方法的连写
所谓连写，即可以对一个jquery对象连续调用各种不同的方法。
例如：
$(”p”).click(function(){alert($(this).html())})
.mouseover(function(){alert(’mouse over event’)})
.each(function(i){this.style.color=['#f00','#0f0','#00f'][ i ]});
8、操作元素的样式
主要包括以下几种方式：
$(”#msg”).css(”background”);    //返回元素的背景颜色
$(”#msg”).css(”background”,”#ccc”) //设定元素背景为灰色
$(”#msg”).height(300); $(”#msg”).width(”200″); //设定宽高
$(”#msg”).css({ color: “red”, background: “blue” });//以名值对的形式设定样式
$(”#msg”).addClass(”select”); //为元素增加名称为select的class
$(”#msg”).removeClass(”select”); //删除元素名称为select的class
$(”#msg”).toggleClass(”select”); //如果存在（不存在）就删除（添加）名称为select的class
9、完善的事件处理功能
Jquery已经为我们提供了各种事件处理方法，我们无需在html元素上直接写事件，而可以直接为通过jquery获取的对象添加事件。
如：
$(”#msg”).click(function(){alert(”good”)}) //为元素添加了单击事件
$(”p”).click(function(i){this.style.color=['#f00','#0f0','#00f'][ i ]})
//为三个不同的p元素单击事件分别设定不同的处理
jQuery中几个自定义的事件：
（1）hover(fn1,fn2)：一个模仿悬停事件（鼠标移动到一个对象上面及移出这个对象）的方法。当鼠标移动到一个匹配的元素上面时，会触发指定的第一个函数。当鼠标移出这个元素时，会触发指定的第二个函数。
//当鼠标放在表格的某行上时将class置为over，离开时置为out。
$(”tr”).hover(function(){
$(this).addClass(”over”);
},
function(){
$(this).addClass(”out”);
});
（2）ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。
$(document).ready(function(){alert(”Load [...]]]></description>
			<content:encoded><![CDATA[<p>1、关于页面元素的引用<br />
通过jquery的$()引用元素包括通过id、class、元素名以及元素的层级关系及dom或者xpath条件等方法，且返回的对象为jquery对象（集合对象），不能直接调用dom定义的方法。</p>
<p>2、jQuery对象与dom对象的转换<br />
只有jquery对象才能使用jquery定义的方法。注意dom对象和jquery对象是有区别的，调用方法时要注意操作的是dom对象还是jquery对象。<br />
普通的dom对象一般可以通过$()转换成jquery对象。<br />
如：$(document.getElementById(”msg”))则为jquery对象，可以使用jquery的方法。<br />
由于jquery对象本身是一个集合。所以如果jquery对象要转换为dom对象则必须取出其中的某一项，一般可通过索引取出。<br />
如：$(”#msg”)[0]，$(”div”).eq(1)[0]，$(”div”).get()[1]，$(”td”)[5]这些都是dom对象，可以使用dom中的方法，但不能再使用Jquery的方法。<br />
以下几种写法都是正确的：<br />
$(”#msg”).html();<br />
$(”#msg”)[0].innerHTML;<br />
$(”#msg”).eq(0)[0].innerHTML;<br />
$(”#msg”).get(0).innerHTML;</p>
<p>3、如何获取jQuery集合的某一项<br />
对于获取的元素集合，获取其中的某一项（通过索引指定）可以使用eq或get(n)方法或者索引号获取，要注意，eq返回的是jquery对象，而get(n)和索引返回的是dom元素对象。对于jquery对象只能使用jquery的方法，而dom对象只能使用dom的方法，如要获取第三个&lt;div&gt;元素的内容。有如下两种方法：<br />
$(”div”).eq(2).html();    //调用jquery对象的方法<br />
$(”div”).get(2).innerHTML; //调用dom的方法属性</p>
<p>4、同一函数实现set和get<br />
Jquery中的很多方法都是如此，主要包括如下几个：<br />
$(”#msg”).html();    //返回id为msg的元素节点的html内容。<br />
$(”#msg”).html(”&lt;b&gt;new content&lt;/b&gt;”);<br />
//将“&lt;b&gt;new content&lt;/b&gt;” 作为html串写入id为msg的元素节点内容中,页面显示粗体的new content</p>
<p>$(”#msg”).text();    //返回id为msg的元素节点的文本内容。<br />
$(”#msg”).text(”&lt;b&gt;new content&lt;/b&gt;”);<br />
//将“&lt;b&gt;new content&lt;/b&gt;” 作为普通文本串写入id为msg的元素节点内容中,页面显示&lt;b&gt;new content&lt;/b&gt;</p>
<p>$(”#msg”).height();    //返回id为msg的元素的高度<br />
$(”#msg”).height(”300″); //将id为msg的元素的高度设为300<br />
$(”#msg”).width();    //返回id为msg的元素的宽度<br />
$(”#msg”).width(”300″); //将id为msg的元素的宽度设为300</p>
<p>$(”input”).val(”); //返回表单输入框的value值<br />
$(”input”).val(”test”); //将表单输入框的value值设为test</p>
<p>$(”#msg”).click(); //触发id为msg的元素的单击事件<br />
$(”#msg”).click(fn); //为id为msg的元素单击事件添加函数<br />
同样blur,focus,select,submit事件都可以有着两种调用方法</p>
<p>5、集合处理功能<br />
对于jquery返回的集合内容无需我们自己循环遍历并对每个对象分别做处理，jquery已经为我们提供的很方便的方法进行集合的处理。<br />
包括两种形式：<br />
$(”p”).each(function(i){this.style.color=['#f00','#0f0','#00f'][ i ]})<br />
//为索引分别为0，1，2的p元素分别设定不同的字体颜色。</p>
<p>$(”tr”).each(function(i){this.style.backgroundColor=['#ccc','#fff'][i%2]})<br />
//实现表格的隔行换色效果</p>
<p>$(”p”).click(function(){alert($(this).html())})<br />
//为每个p元素增加了click事件，单击某个p元素则弹出其内容</p>
<p>6、扩展我们需要的功能<br />
$.extend({<br />
min: function(a, b){return a &lt; b?a:b; },<br />
max: function(a, b){return a &gt; b?a:b; }<br />
}); //为jquery扩展了min,max两个方法<br />
使用扩展的方法（通过“$.方法名”调用）：<br />
alert(”a=10,b=20,max=”+$.max(10,20)+”,min=”+$.min(10,20));</p>
<p>7、支持方法的连写<br />
所谓连写，即可以对一个jquery对象连续调用各种不同的方法。<br />
例如：<br />
$(”p”).click(function(){alert($(this).html())})<br />
.mouseover(function(){alert(’mouse over event’)})<br />
.each(function(i){this.style.color=['#f00','#0f0','#00f'][ i ]});</p>
<p>8、操作元素的样式<br />
主要包括以下几种方式：<br />
$(”#msg”).css(”background”);    //返回元素的背景颜色<br />
$(”#msg”).css(”background”,”#ccc”) //设定元素背景为灰色<br />
$(”#msg”).height(300); $(”#msg”).width(”200″); //设定宽高<br />
$(”#msg”).css({ color: “red”, background: “blue” });//以名值对的形式设定样式<br />
$(”#msg”).addClass(”select”); //为元素增加名称为select的class<br />
$(”#msg”).removeClass(”select”); //删除元素名称为select的class<br />
$(”#msg”).toggleClass(”select”); //如果存在（不存在）就删除（添加）名称为select的class</p>
<p>9、完善的事件处理功能</p>
<p>Jquery已经为我们提供了各种事件处理方法，我们无需在html元素上直接写事件，而可以直接为通过jquery获取的对象添加事件。<br />
如：<br />
$(”#msg”).click(function(){alert(”good”)}) //为元素添加了单击事件<br />
$(”p”).click(function(i){this.style.color=['#f00','#0f0','#00f'][ i ]})<br />
//为三个不同的p元素单击事件分别设定不同的处理<br />
jQuery中几个自定义的事件：<br />
（1）hover(fn1,fn2)：一个模仿悬停事件（鼠标移动到一个对象上面及移出这个对象）的方法。当鼠标移动到一个匹配的元素上面时，会触发指定的第一个函数。当鼠标移出这个元素时，会触发指定的第二个函数。<br />
//当鼠标放在表格的某行上时将class置为over，离开时置为out。<br />
$(”tr”).hover(function(){<br />
$(this).addClass(”over”);<br />
},<br />
function(){<br />
$(this).addClass(”out”);<br />
});<br />
（2）ready(fn):当DOM载入就绪可以查询及操纵时绑定一个要执行的函数。<br />
$(document).ready(function(){alert(”Load Success”)})<br />
//页面加载完毕提示“Load Success”,相当于onload事件。与$(fn)等价<br />
（3）toggle(evenFn,oddFn): 每次点击时切换要调用的函数。如果点击了一个匹配的元素，则触发指定的第一个函数，当再次点击同一元素时，则触发指定的第二个函数。随后的每次点击都重复对这两个函数的轮番调用。<br />
//每次点击时轮换添加和删除名为selected的class。<br />
$(”p”).toggle(function(){<br />
$(this).addClass(”selected”);<br />
},function(){<br />
$(this).removeClass(”selected”);<br />
});<br />
（4）trigger(eventtype): 在每一个匹配的元素上触发某类事件。<br />
例如：<br />
$(”p”).trigger(”click”);    //触发所有p元素的click事件<br />
（5）bind(eventtype,fn)，unbind(eventtype): 事件的绑定与反绑定<br />
从每一个匹配的元素中（添加）删除绑定的事件。<br />
例如：<br />
$(”p”).bind(”click”, function(){alert($(this).text());}); //为每个p元素添加单击事件<br />
$(”p”).unbind(); //删除所有p元素上的所有事件<br />
$(”p”).unbind(”click”) //删除所有p元素上的单击事件</p>
<p>10、几个实用特效功能<br />
其中toggle()和slidetoggle()方法提供了状态切换功能。<br />
如toggle()方法包括了hide()和show()方法。<br />
slideToggle()方法包括了slideDown()和slideUp方法。</p>
<p>11、几个有用的jQuery方法<br />
$.browser.浏览器类型：检测浏览器类型。有效参数：safari, opera, msie, mozilla。如检测是否ie：$.browser.isie，是ie浏览器则返回true。<br />
$.each(obj, fn)：通用的迭代函数。可用于近似地迭代对象和数组（代替循环）。<br />
如<br />
$.each( [0,1,2], function(i, n){ alert( “Item #” + i + “: ” + n ); });<br />
等价于：<br />
var tempArr=[0,1,2];<br />
for(var i=0;i&lt;tempArr.length;i++){<br />
alert(”Item #”+i+”: “+tempArr[ i ]);<br />
}<br />
也可以处理json数据，如<br />
$.each( { name: “John”, lang: “JS” }, function(i, n){ alert( “Name: ” + i + “, Value: ” + n ); });<br />
结果为：<br />
Name:name, Value:John<br />
Name:lang, Value:JS<br />
$.extend(target,prop1,propN)：用一个或多个其他对象来扩展一个对象，返回这个被扩展的对象。这是jquery实现的继承方式。<br />
如：<br />
$.extend(settings, options);<br />
//合并settings和options，并将合并结果返回settings中，相当于options继承setting并将继承结果保存在setting中。<br />
var settings = $.extend({}, defaults, options);<br />
//合并defaults和options，并将合并结果返回到setting中而不覆盖default内容。<br />
可以有多个参数（合并多项并返回）<br />
$.map(array, fn)：数组映射。把一个数组中的项目(处理转换后)保存到到另一个新数组中，并返回生成的新数组。<br />
如：<br />
var tempArr=$.map( [0,1,2], function(i){ return i + 4; });<br />
tempArr内容为：[4,5,6]<br />
var tempArr=$.map( [0,1,2], function(i){ return i &gt; 0 ? i + 1 : null; });<br />
tempArr内容为：[2,3]<br />
$.merge(arr1,arr2):合并两个数组并删除其中重复的项目。<br />
如：$.merge( [0,1,2], [2,3,4] ) //返回[0,1,2,3,4]<br />
$.trim(str)：删除字符串两端的空白字符。<br />
如：$.trim(”   hello, how are you? “); //返回”hello,how are you? ”</p>
<p>12、解决自定义方法或其他类库与jQuery的冲突<br />
很多时候我们自己定义了$(id)方法来获取一个元素，或者其他的一些js类库如prototype也都定义了$方法，如果同时把这些内容放在一起就会引起变量方法定义冲突，Jquery对此专门提供了方法用于解决此问题。<br />
使用jquery中的jQuery.noConflict();方法即可把变量$的控制权让渡给第一个实现它的那个库或之前自定义的$方法。之后应用Jquery的时候只要将所有的$换成jQuery即可，如原来引用对象方法$(”#msg”)改为jQuery(”#msg”)。<br />
如：<br />
jQuery.noConflict();<br />
// 开始使用jQuery<br />
jQuery(”div p”).hide();<br />
// 使用其他库的 $()<br />
$(”content”).style.display = ‘none’;</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2849/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>世界上最贵的JavaScript代码</title>
		<link>http://010wu.cn/archives/2846</link>
		<comments>http://010wu.cn/archives/2846#comments</comments>
		<pubDate>Tue, 24 Nov 2009 07:23:34 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[最新更新]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2846</guid>
		<description><![CDATA[这个事儿有点意思，真假未知——不过，当作个笑话看也未尝不可。
事件的前因后果是这样的：
最近，总部位于挪威奥斯陆的、国际领先的浏览器制造商Opera公司，因为预见Opera Mini（为手机用户节省流量的服务）、Opera Turbo（提供全网加速功能的服务）以及Opera Link（支持用户数据实时同步的服务）的访问量将会激增，批准了一项价值百万克朗（100克朗兑换106元人民币）的服务器采购计划。
于是，众多知名服务器厂商应邀把服务器样机发到Opera公司参加竞标测试。然而，来自一家国际一流厂商的服务器把包括CSS之父、Opera公司首席技术官Håkon Wium Lie博士在内的所有测试人员全部当场雷倒，造成了几乎到手的百万元大单顷刻间付之东流。
到底是为什么呢？原来，当测试人员启动这家厂商的服务器，并使用Opera浏览器打开管理页面时，却被直接重定向到了错误页面。当然，这只是问题的表面而已。重定向嘛，不是服务器端脚本所为，就是客户端脚本的杰作。经过简单查找，现场人员发现管理页面的源代码中赫然写着如下一行JavaScript代码：
if (is.opera) { window.location.href=”config/error.htm”; }
把这行代码翻译成人类语言就是：如果查看当前页面的是Opera浏览器，就在窗口地址栏中打开config目录下的error.htm页面！
呵呵，居然胆敢如此歧视Opera浏览器，就算制造商再牛，服务器再好，搁谁那里都没有通过“测试”的道理呀。就因为这一行代码，丢掉百万元大单，称其为史上最贵的JavaScript代码，应该不为过了。
（据说，这行代码是经销商所为；而这家国际一流服务器厂商也未公开，待查中。消息来源cnBeta.com）
]]></description>
			<content:encoded><![CDATA[<p>这个事儿有点意思，真假未知——不过，当作个笑话看也未尝不可。<a href="http://www.opera.com/"><img src="http://tbn2.google.com/images?q=tbn:qHuq8u8Cn2Vz7M:http://mag.udn.com/html/it/PCHOMEADVANCE/200706/1132_7_opera.jpg" alt="" width="137" height="91" /></a></p>
<p>事件的前因后果是这样的：</p>
<p>最近，总部位于挪威奥斯陆的、<a title="http://www.opera.com/" href="http://www.opera.com/" target="_blank">国际领先的浏览器制造商Opera公司</a>，因为预见<a title="http://www.operachina.com/mini/" href="http://www.operachina.com/mini/" target="_blank">Opera Mini（为手机用户节省流量的服务）</a>、<a title="http://team.operachina.com/" href="http://team.operachina.com/" target="_blank">Opera Turbo（提供全网加速功能的服务）</a>以及<a title="http://www.operachina.com/discover/link.htm" href="http://www.operachina.com/discover/link.htm" target="_blank">Opera Link（支持用户数据实时同步的服务）</a>的访问量将会激增，批准了一项价值百万克朗（100克朗兑换106元人民币）的服务器采购计划。</p>
<p>于是，众多知名服务器厂商应邀把服务器样机发到Opera公司参加竞标测试。然而，来自一家国际一流厂商的服务器把包括CSS之父、Opera公司首席技术官<a title="http://people.opera.com/howcome/" href="http://people.opera.com/howcome/" target="_blank">Håkon Wium Lie博士</a>在内的所有测试人员全部当场雷倒，造成了几乎到手的百万元大单顷刻间付之东流。</p>
<p>到底是为什么呢？原来，当测试人员启动这家厂商的服务器，并使用Opera浏览器打开管理页面时，却被直接重定向到了错误页面。当然，这只是问题的表面而已。重定向嘛，不是服务器端脚本所为，就是客户端脚本的杰作。经过简单查找，现场人员发现管理页面的源代码中赫然写着如下一行JavaScript代码：</p>
<p>if (is.opera) { window.location.href=”config/error.htm”; }</p>
<p>把这行代码翻译成人类语言就是：如果查看当前页面的是Opera浏览器，就在窗口地址栏中打开config目录下的error.htm页面！</p>
<p>呵呵，居然胆敢如此歧视Opera浏览器，就算制造商再牛，服务器再好，搁谁那里都没有通过“测试”的道理呀。就因为这一行代码，丢掉百万元大单，称其为史上最贵的JavaScript代码，应该不为过了。</p>
<p>（据说，这行代码是经销商所为；而这家国际一流服务器厂商也未公开，待查中。<a title="http://www.cnbeta.com/articles/89239.htm" href="http://www.cnbeta.com/articles/89239.htm" target="_blank">消息来源cnBeta.com</a>）</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2846/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Div+CSS规则整理</title>
		<link>http://010wu.cn/archives/2843</link>
		<comments>http://010wu.cn/archives/2843#comments</comments>
		<pubDate>Sun, 22 Nov 2009 13:32:03 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[技巧 & 教程]]></category>
		<category><![CDATA[div+css]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2843</guid>
		<description><![CDATA[一、善用css缩写规则
    /*注意上、右、下、左的书写顺序*/

关于边距（4边）：

1px 2px 3px 4px (上、右、下、左)
1px 2px 3px    （省略的左等于右）
1px 2px         (省略的上等于下)
1px            （四边都相同）
 

简化所有：

*/ body{margin:0}&#8212;&#8212;&#8212;&#8212;表示网页内所有元素的margin为0
#menu{ margin:0}&#8212;&#8212;&#8212;&#8212;表示menu盒子下的所有元素的margin为0
 

缩写（border）特定样式：

Border:1px solid #ffffff;
Border-width:0 1px 2px 3px;
 

关于文字的缩写规则：

Font-style:italic;  斜体形式
Font-variant:small-caps/normal;  变体样式：小型大写字母/正常
Font-weight:bold;
Font-size:12px;
Line-height:1.2em(120%)/1.5em(150%);
Font-family:arrial,sans-serif,verdana;
缩写成：
Font:italic small-caps bold 12px/1.5em arrial,sans-serif;
注意：Font-size和Line-height用斜杠组合在一起不能分开写。
 

关于背景图片的：

Background:#FFF url(log.gif) no-repeat fixed top left;
 

关于列表：

List-style-type:square/none;
List-style-position:inside;
List-style-image:url(filename.gif);
缩写成：
List-style:none inside url(filename.gif);
 
 
 
二、           运用4种方法来引入CSS样式
     1.link
&#60;link rel=”stylesheet” type=”text/css” href=”a.css”&#62;
rel 关系
type 数据类型,有多种
href 路径
部分浏览器支持候选样式,关键字:alternate:
&#60;link rel=”stylesheet” type=”text/css” href=”a.css”&#62;
&#60;link rel=”alternate stylesheet” type=”text/css” href=”b.css”&#62;
&#60;link rel=”alternate stylesheet” type=”text/css” href=”c.css”&#62;
2.内部样式块
&#60;style&#62;
&#60;!–
h1{color:red;}
–&#62;
&#60;/style&#62;
3.@import
@import url{a.css}
注意:此指令必须放在&#60;style&#62;容器中,并且在所有样式之前
建议放在一个html注释中,&#60;!– –&#62;浏览器会不显示注释内的内容,而import等css代码能正常工作
4.内联样式
&#60;p style=”color:red;”&#62;
选择器是css的一个基本概念，基本规则如下：
1.规则结构：
h1 {color:red;}
选择器 [...]]]></description>
			<content:encoded><![CDATA[<p align="left"><strong>一、</strong><strong>善用css缩写规则</strong></p>
<p align="left">    /*注意上、右、下、左的书写顺序*/</p>
<ol>
<li>关于边距（4边）：</li>
</ol>
<p align="left">1px 2px 3px 4px (上、右、下、左)</p>
<p align="left">1px 2px 3px    （省略的左等于右）</p>
<p align="left">1px 2px         (省略的上等于下)</p>
<p align="left">1px            （四边都相同）</p>
<p align="left"> </p>
<ol>
<li>简化所有：</li>
</ol>
<p align="left">*/ body{margin:0}&#8212;&#8212;&#8212;&#8212;表示网页内所有元素的margin为0</p>
<p align="left">#menu{ margin:0}&#8212;&#8212;&#8212;&#8212;表示menu盒子下的所有元素的margin为0</p>
<p align="left"> </p>
<ol>
<li>缩写（border）特定样式：</li>
</ol>
<p align="left">Border:1px solid #ffffff;</p>
<p align="left">Border-width:0 1px 2px 3px;</p>
<p align="left"> </p>
<ol>
<li>关于文字的缩写规则：</li>
</ol>
<p align="left">Font-style:italic;  斜体形式</p>
<p align="left">Font-variant:small-caps/normal;  变体样式：小型大写字母/正常</p>
<p align="left">Font-weight:bold;</p>
<p align="left">Font-size:12px;</p>
<p align="left">Line-height:1.2em(120%)/1.5em(150%);</p>
<p align="left">Font-family:arrial,sans-serif,verdana;</p>
<p align="left">缩写成：</p>
<p align="left">Font:italic small-caps bold 12px/1.5em arrial,sans-serif;</p>
<p align="left">注意：Font-size和Line-height用斜杠组合在一起不能分开写。</p>
<p align="left"> </p>
<ol>
<li>关于背景图片的：</li>
</ol>
<p align="left">Background:#FFF url(log.gif) no-repeat fixed top left;</p>
<p align="left"> </p>
<ol>
<li>关于列表：</li>
</ol>
<p align="left">List-style-type:square/none;</p>
<p align="left">List-style-position:inside;</p>
<p align="left">List-style-image:url(filename.gif);</p>
<p align="left">缩写成：</p>
<p align="left">List-style:none inside url(filename.gif);</p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"><strong>二、           </strong><strong>运用4种方法来引入CSS样式</strong></p>
<p align="left">     1.link</p>
<p align="left">&lt;link rel=”stylesheet” type=”text/css” href=”a.css”&gt;</p>
<p align="left">rel 关系</p>
<p align="left">type 数据类型,有多种</p>
<p align="left">href 路径</p>
<p align="left">部分浏览器支持候选样式,关键字:alternate:</p>
<p align="left">&lt;link rel=”stylesheet” type=”text/css” href=”a.css”&gt;</p>
<p align="left">&lt;link rel=”alternate stylesheet” type=”text/css” href=”b.css”&gt;</p>
<p align="left">&lt;link rel=”alternate stylesheet” type=”text/css” href=”c.css”&gt;</p>
<p align="left">2.内部样式块</p>
<p align="left">&lt;style&gt;</p>
<p align="left">&lt;!–</p>
<p align="left">h1{color:red;}</p>
<p align="left">–&gt;</p>
<p align="left">&lt;/style&gt;</p>
<p align="left">3.@import</p>
<p align="left">@import url{a.css}</p>
<p align="left">注意:此指令必须放在&lt;style&gt;容器中,并且在所有样式之前</p>
<p align="left">建议放在一个html注释中,&lt;!– –&gt;浏览器会不显示注释内的内容,而import等css代码能正常工作</p>
<p align="left">4.内联样式</p>
<p align="left">&lt;p style=”color:red;”&gt;</p>
<p align="left">选择器是css的一个基本概念，基本规则如下：</p>
<p align="left">1.规则结构：</p>
<p align="left">h1 {color:red;}</p>
<p align="left">选择器 {属性:值;}</p>
<p align="left">这类是元素选择器，基本可以包括所有html的元素</p>
<p align="left">属性值可以包括多个元素，如：border：1px solid red;</p>
<p align="left">常用语法</p>
<p align="left">1)分组：</p>
<p align="left">选择器和声明都可以分组:</p>
<p align="left">h1,h2,h3{color:red;background:#fff;} ,选择器用“,”分割开,属性用”;”分割</p>
<p align="left">2)类选择器,即通过class=”stylename”应用的声明</p>
<p align="left">定义:</p>
<p align="left">.stylename{color:red;}</p>
<p align="left">注意:</p>
<p align="left">在html中可以使用多类选择:如class=”cn1 cn2 cn3″</p>
<p align="left">3)ID选择器,即与id属性对应的样式</p>
<p align="left">定义:</p>
<p align="left">#a{color:red;} -&gt;这个定义对用id=”a”的元素</p>
<p align="left">2.这部分都是我们常见的css语法，下面谈一下我们不常见的选择器语法</p>
<p align="left">1)父子结构,跟文档结构图对应</p>
<p align="left">如p span{border:1px solid red;}对应的是&lt;p&gt;下面的&lt;li&gt;标签,这个很用用途,可以准确定位.</p>
<p align="left">一些特殊应用(IE7支持):</p>
<p align="left">(1) p &gt; span{},匹配所有p下所有的span</p>
<p align="left">(2) p + span{} ,匹配紧接着p元素后出现的第一个span标签,2者要有相同的父标签</p>
<p align="left">2)属性选择器:(注意:属性选择器ie7才开始支持,以下版本并不支持,其他的浏览器基本可以)</p>
<p align="left">语法:img[alt]{border:1px solid;}</p>
<p align="left">表示对应有alt属性的img标签,当然可以支持多个属性对应,如img[alt][title]{};表示这个2个属性都有的img标签,也可以与具体值对应:如:img[alt=”摄影”]{};</p>
<p align="left">属性选择器中的高级应用,特殊匹配:</p>
<p align="left">(1)img[class~=”b”],    ~= : 与属性中的一个值对应的,即与&lt;img class=”a b c”&gt;对应</p>
<p align="left">(2)[class^=”a”],以a开头的</p>
<p align="left">(3)[class$=”a”],以a结束的</p>
<p align="left">(4)[class*=”a”],包含a的</p>
<p align="left">(5)[class|=”a”],等于a或以a开头的</p>
<p align="left">3)伪类和伪元素</p>
<p align="left">日常使用中主要是&lt;a&gt;标签的几个伪类:link:hover:active:visited</p>
<p align="left">以及:first-child:first:before:left:right:lang:focus:fist-line等等</p>
<p align="left">注意:动态伪类可以应用到任何元素,如,input:focus{background:red;}当input标签获得焦点时背景变红</p>
<p align="left">以上语法组合使用,就能实现定位准确、简单间接的样式了。</p>
<p align="left"> </p>
<p align="left"><strong>三、           </strong><strong>选择器分类整合</strong></p>
<p align="left">       优先级别遵循：<strong>行内样式 &gt;ID &gt; Class &gt;标记</strong></p>
<table border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td rowspan="3" width="43">
<p align="center">基本选择器</p>
</td>
<td width="525" valign="top">标记选择器（eg:&lt;p&gt;&lt;/p&gt;）</td>
</tr>
<tr>
<td width="525" valign="top">类别选择器(eg:class)</td>
</tr>
<tr>
<td width="525" valign="top">ID选择器</td>
</tr>
<tr>
<td rowspan="4" width="43">
<p align="center">复合选择器</p>
</td>
<td width="525" valign="top">“交集”复合选择器(eg:p.menu{color:red}) 必须是标记+类别/ID组合</td>
</tr>
<tr>
<td width="525" valign="top">“并集”复合选择器(eg:h1,h2,h3{color:red})</td>
</tr>
<tr>
<td width="525" valign="top">“后代”复合选择器(eg: #menu .menulist{ &#8230; })</td>
</tr>
<tr>
<td width="525" valign="top">“子”  复合选择器(eg: #menu .menulist .selectit { &#8230; })</td>
</tr>
</tbody>
</table>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"><strong>四、           </strong><strong>使用子选择器减少id和class的定义</strong></p>
<p>       示例结构：</p>
<p>&lt;div&gt;</p>
<p>  &lt;div&gt;</p>
<p>     &lt;div&gt;content&lt;/div&gt;</p>
<p>  &lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>示例CSS：</p>
<p>#menu { &#8230; }</p>
<p>#menu .menulist { &#8230; }</p>
<p>#menu .menulist .selectit { &#8230; }</p>
<p align="left"> </p>
<p align="left"><strong>五、           </strong><strong>使用组选择器为不同元素应用相同的样式</strong></p>
<p align="left">     如h1,h2,h3,div{font-size:16px;font-weight:bold}</p>
<p align="left">则h1,h2,h3,div元素的样式都为字体16像素，字体粗体</p>
<p align="left"> </p>
<p align="left"><strong>六、           </strong><strong>伪类和选择符的配合使用</strong></p>
<p align="left">将伪类和类组合起来用，就可以在同一个页面中做几组不同的链接效果了，例如，我们定义一组链接为红色，访问后为蓝色；另一组为绿色，访问后为黄色：</p>
<p align="left">a.red:link {color: #FF0000}</p>
<p align="left">a.red:visited {color: #0000FF}</p>
<p align="left">a.blue:link {color: #00FF00}</p>
<p align="left">a.blue:visited {color: #FF00FF}</p>
<p align="left">现在应用在不同的链接上：</p>
<p align="left">&lt;a href=&#8221;&#8230;&#8221;&gt;这是第一组链接&lt;/a&gt;</p>
<p align="left">&lt;a href=&#8221;&#8230;&#8221;&gt;这是第二组链接&lt;/a&gt;</p>
<p align="left"> </p>
<p align="left"><strong>七、           </strong><strong>CSS</strong><strong>的最近优先原则</strong></p>
<p align="left"> /*如果对一个元素定义了多次样式，则以最近的一级优先，最近一级的样式将覆盖其他  <strong>行内样式 &gt;ID &gt; Class &gt;标记</strong>  */</p>
<p align="left">   以下是引用片段：</p>
<p align="left">CSS:</p>
<p align="left">p{color:red}</p>
<p align="left">.blue{color:blue}</p>
<p align="left">.yellow{color:yellow}</p>
<p align="left">HTML:</p>
<p align="left">&lt;p&gt;此处显示为红色&lt;/p&gt;</p>
<p align="left">&lt;p&gt;此处显示为蓝色&lt;/p&gt;</p>
<p align="left">&lt;p style=&#8221;color:green&#8221;&gt;此处显示为绿色&lt;/p&gt;</p>
<p align="left">&lt;p&gt;此处显示为黄色&lt;/p&gt;</p>
<p align="left">注意：</p>
<p align="left"> </p>
<p align="left">      （1）注意样式的几个优先顺序(优先级由上至下递减，<strong>下面的样式覆盖上面的样式</strong>)：</p>
<p align="left"> </p>
<p align="left">      &#8211;元素style设定</p>
<p align="left"> </p>
<p align="left">      &#8211;head区&lt;style&gt;&lt;/style&gt;中的设定</p>
<p align="left"> </p>
<p align="left">      &#8211;外部引用css文件</p>
<p align="left"> </p>
<p align="left">      （2）优先级不是按访问顺序来设定的，而是又css中的声明顺序来设的。</p>
<p align="left"> </p>
<p align="left">      如上例中&lt;p&gt;此处显示为黄色&lt;/p&gt;也显示为黄色，因为在css定义中.yellow在.blue的后面。</p>
<p align="left">  </p>
<p align="left"><strong>八、           </strong>书写正确的链接样式</p>
<p align="left">    当用css定义链接的各种状态时，要注意书写的顺序即：:link :visited :hover :active利用首字母：L V H A，你可以通过记忆LoVe,Hate,两个单词来记住其顺序。</p>
<p align="left">:link &#8212;&#8212;&#8211;链接的颜色</p>
<p align="left">:visited &#8212;&#8211;鼠标点击后的颜色</p>
<p align="left">:hover &#8212;&#8212;-鼠标放上去未点的颜色（悬停）</p>
<p align="left">:active&#8212;&#8212;-鼠标点击瞬间的颜色</p>
<p align="left"> </p>
<p align="left"><strong>九、           </strong>:hover的灵活运用</p>
<p align="left">     IE6不支持除a标签以外的:hover属性，我们了解:hover属性是鼠标悬停效果。在IE7和FF中，对几乎任意元素都可以设置:hover属性效果。这对我们做不同的访问效果很好。</p>
<p align="left">如：</p>
<p align="left">p {</p>
<p align="left">    width : 360px;</p>
<p align="left">    height : 80px;</p>
<p align="left">    padding : 20px;</p>
<p align="left">    margin : 50px auto 0 auto;</p>
<p align="left">    border : 1px solid #ccc;</p>
<p align="left">    line-height : 25px;</p>
<p align="left">    background : #fff;</p>
<p align="left">}</p>
<p align="left">p:hover {</p>
<p align="left">    border : 1px solid #000;</p>
<p align="left">    background : #ddd;</p>
<p align="left">}</p>
<p align="left">&#8212;&#8212;&#8212;&#8212;&#8212;-此效果针对IE7和FF</p>
<p align="left">p a {</p>
<p align="left">    color : #00f;</p>
<p align="left">    text-decoration : none;</p>
<p align="left">    font-size : 13px;</p>
<p align="left">}</p>
<p align="left">p a:hover {</p>
<p align="left">    color : #036;</p>
<p align="left">    text-decoration : underline;</p>
<p align="left">}</p>
<p align="left">  &#8212;&#8212;&#8212;&#8212;&#8212;&#8211;此效果针对IE6</p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"><strong>十、           </strong><strong>定义A标签要注意的小问题</strong></p>
<p align="left">      当我们定义a{color:red;}时，它代表了A的四种状态的样式，如果此时要定义一个鼠标放上的状态只要定义a:hover就可以了，其它三种状态就是A中所定义的样式。</p>
<p align="left">只定义了一个a:link时，一定要记得把其它三种状态定义出来！</p>
<p align="left"> </p>
<p align="left"><strong>十一、   </strong><strong>禁止内容换行与强制内容换行</strong></p>
<p align="left">   在表格或层中我们可能希望内容不换行或强制换行，我们可以通过一些css属性来达到这些要求。</p>
<p align="left">    禁止换行：white-space:nowrap</p>
<p align="left">强制换行：word-break: break-all; white-space: normal;</p>
<p align="left"> </p>
<p align="left"><strong>十二、   </strong><strong>区别relative和absolute</strong></p>
<p align="left">Absolute&#8212;CSS中的写法是：position:absolute; 他的意思是绝对定位，他是参照浏览器的左上角，配合TOP、RIGHT、BOTTOM、LEFT(下面简称TRBL)进行定位，在没有设定TRBL，默认依据父级的做标原始点为原始点。如果设定TRBL并且父级没有设定position属性，那么当前的absolute则以浏览器左上角为原始点进行定位，位置将由TRBL决定。</p>
<p align="left">Relative&#8212;CSS中的写法是：position:relative;  他的意思是绝对相对定位，他是参照父级的原始点为原始点，无父级则以BODY的原始点为原始点，配合TRBL进行定位，当父级内有padding等CSS属性时，当前级的原始点则参照父级内容区的原始点进行定位。</p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"><strong>十三、   </strong><strong>区别块级元素block和内联元素inline</strong></p>
<p align="left">块级&#8212;可定义宽高，另起独占一行  （如：div  ul）</p>
<p align="left">内联&#8212;不可定义宽高，如文本元素  （如a span）</p>
<p align="left"> </p>
<p align="left"><strong>十四、   </strong><strong>区别display和visibility</strong></p>
<p align="left">display:none和visibility:hidden都可以隐藏一个元素,但visibility:hidden只是隐藏了元素的内容，但其使用的位置空间仍然被保留。而display:none则相当把元素从页面中去除，其占用位置也将被删除。</p>
<p align="left"> </p>
<p align="left"><strong>十五、   </strong><strong>背景background的一些语法</strong></p>
<p align="left">  background-image:url(背景图案.jpg,gif,bmp);</p>
<p align="left">background-color:#FFFFFF; （背景颜色）</p>
<p align="left">background-color : transparent;    &lt;&#8211;设定背景为透明色 –&gt;</p>
<p align="left">background-repeat 改变背景图片的重复并排的设定</p>
<p align="left">      说明</p>
<p align="left">repeat  背景图片并排 </p>
<p align="left">repeat-x  背景图片以X方向 并排 </p>
<p align="left">repeat-y  背景图片以Y方向 并排 </p>
<p align="left">no-repeat  背景图片不 以并排的方式处理 </p>
<p align="left">background-attachment是否固定图片位置</p>
<p align="left">   说明</p>
<p align="left">scroll  拉动卷轴时，背景图片会跟着移动（缺省值） </p>
<p align="left">fixed  拉动卷轴时，背景图片不会跟着移动 </p>
<p align="left">以长度定位background-position: x y</p>
<p align="left">使用百分比定位 background-position: x% y%</p>
<p align="left">     说明</p>
<p align="left">x%  往右移 </p>
<p align="left">y%  往下移 </p>
<p align="left">backgroud-position: 0% 0%; 左边上方</p>
<p align="left">backgroud-position: 0% 50%; 左边中间</p>
<p align="left">backgroud-position: 50% 0%; 中间上方</p>
<p align="left">backgroud-position: 50% 50%; 正中间</p>
<p align="left">backgroud-position:100% 0%; 右边上方</p>
<p align="left">backgroud-position: 0% 100%; 左边下方</p>
<p align="left">backgroud-position: 100% 50%; 右边中间</p>
<p align="left">backgroud-position: 50% 100%; 中间下方</p>
<p align="left">backgroud-position: 100% 100%; 右边下方</p>
<p align="left"> </p>
<p align="left">以关键字定位</p>
<p align="left">关键字  说明 </p>
<p align="left">top  上 ( y = 0 ) </p>
<p align="left">center  中 ( x = 50, y = 50 ) </p>
<p align="left">bottom  下 ( y = 100 ) </p>
<p align="left">left  左 ( x= 0 ) </p>
<p align="left"> </p>
<p align="left">Exp:</p>
<p align="left">background-position:center;</p>
<p align="left">图片在指定背景中央X=50% Y=50%位置</p>
<p align="left">background-position: 200px 30px</p>
<p align="left"> </p>
<p align="left"><strong>十六、   </strong><strong>注释的写法</strong></p>
<p align="left">在Html中：</p>
<p align="left">&lt;&#8211; footer &#8211;&gt;<br />
content<br />
&lt;&#8211; end footer &#8211;&gt;
</p>
<p align="left">在CSS中：</p>
<p align="left">/* &#8212;&#8212;&#8212;- header &#8212;&#8212;&#8212;&#8212;&#8212;&#8211; */<br />
style
</p>
<p align="left"> </p>
<p align="left"><strong>十七、   </strong><strong>CSS</strong><strong>的命名规范</strong></p>
<ol>
<li>id的命名</li>
</ol>
<p align="left">    (1)页面结构</p>
<p align="left">　　容器: container</p>
<p align="left">　　页头：header</p>
<p align="left">　　内容：content/container</p>
<p align="left">　　页面主体：main</p>
<p align="left">　　页尾：footer</p>
<p align="left">　　导航：nav</p>
<p align="left">　　侧栏：sidebar</p>
<p align="left">　　栏目：column</p>
<p align="left">　　页面外围控制整体布局宽度：wrapper</p>
<p align="left">左右中：left right center</p>
<p align="left">(2)导航</p>
<p align="left">　　导航：nav</p>
<p align="left">　　主导航：mainnav</p>
<p align="left">　　子导航：subnav</p>
<p align="left">　　顶导航：topnav</p>
<p align="left">　　边导航：sidebar</p>
<p align="left">　　左导航：leftsidebar</p>
<p align="left">　　右导航：rightsidebar</p>
<p align="left">　　菜单：menu</p>
<p align="left">　　子菜单：submenu</p>
<p align="left">　　标题: title</p>
<p align="left">　　摘要: summary</p>
<p align="left">　　(3)功能</p>
<p align="left">　　标志：logo</p>
<p align="left">　　广告：banner</p>
<p align="left">　　登陆：login</p>
<p align="left">　　登录条：loginbar</p>
<p align="left">　　注册：regsiter</p>
<p align="left">　　搜索：search</p>
<p align="left">　　功能区：shop</p>
<p align="left">　　标题：title</p>
<p align="left">　　加入：joinus</p>
<p align="left">　　状态：status</p>
<p align="left">　　按钮：btn</p>
<p align="left">　　滚动：scroll</p>
<p align="left">　　标签页：tab</p>
<p align="left">　　文章列表：list</p>
<p align="left">　　提示信息：msg</p>
<p align="left">　　当前的: current</p>
<p align="left">　　小技巧：tips</p>
<p align="left">　　图标: icon</p>
<p align="left">　　注释：note</p>
<p align="left">　　指南：guild</p>
<p align="left">　　服务：service</p>
<p align="left">　　热点：hot</p>
<p align="left">　　新闻：news</p>
<p align="left">　　下载：download</p>
<p align="left">　　投票：vote</p>
<p align="left">　　合作伙伴：partner</p>
<p align="left">　　友情链接：link</p>
<p align="left">　　版权：copyright</p>
<p align="left"> </p>
<ol>
<li>class的命名</li>
</ol>
<p align="left">     (1)颜色:使用颜色的名称或者16进制代码,如</p>
<p align="left">　　.red { color: red; }</p>
<p align="left">　　.f60 { color: #f60; }</p>
<p align="left">　　.ff8600 { color: #ff8600; }</p>
<p align="left">　　(2)字体大小,直接使用&#8221;font+字体大小&#8221;作为名称,如</p>
<p align="left">　　.font12px { font-size: 12px; }</p>
<p align="left">　　.font9pt {font-size: 9pt; }</p>
<p align="left">　　(3)对齐样式,使用对齐目标的英文名称,如</p>
<p align="left">　　.left { float:left; }</p>
<p align="left">　　.bottom { float:bottom; }</p>
<p align="left">　　(4)标题栏样式,使用&#8221;类别+功能&#8221;的方式命名,如</p>
<p align="left">　　.barnews { }</p>
<p align="left">　　.barproduct { }</p>
<p align="left">　　注意事项::</p>
<p align="left">u      一律小写;</p>
<p align="left">u      尽量用英文;</p>
<p align="left">u      不加中杠和下划线;</p>
<p align="left">u      2个组合的单词不用中杠和下划线可以将第二个单词的首字母大写（eg:mainContent）；</p>
<p align="left">u      尽量不缩写，除非一看就明白的单词.</p>
<ol>
<li>主要的站点css文件</li>
</ol>
<p align="left">         主要的 master.css</p>
<p align="left">　　模块 module.css</p>
<p align="left">　　基本共用 base.css（root.css）</p>
<p align="left">　　布局，版面 layout.css</p>
<p align="left">　　主题 themes.css</p>
<p align="left">　　专栏 columns.css</p>
<p align="left">　　文字 font.css</p>
<p align="left">　　表单 forms.css</p>
<p align="left">　　补丁 mend.css</p>
<p align="left">　　打印 print.css</p>
<p align="left">     </p>
<p align="left"><strong>十八、   </strong><strong>Padding</strong><strong>影响宽度问题</strong></p>
<p align="left">      如果一组要嵌套的标签之间需要些间距的话，那就留给位于里面的标签的margin属性吧，而不要去定义位于外面的标签的padding</p>
<p align="left"> </p>
<p align="left"><strong>十九、   </strong><strong>完美的单象素外框线表格</strong></p>
<p align="left">      table{border-collapse:collapse;}</p>
<p align="left">td{border:1px solid #000;}</p>
<p align="left"> </p>
<p align="left"><strong>二十、   </strong><strong>如果文字过长,则将过长的部分变成省略号显示</strong></p>
<p align="left">&lt;style=”width:120px;height:50px;overflow:hidden;text-overflow:ellipsis; white-space:nowrap”&gt;</p>
<p align="left"> </p>
<p align="left"><strong>二十一、        </strong><strong>并不是所有样式都要简写</strong></p>
<p align="left">       当样式表前定义了如p{padding:1px 2px 3px 4px}时，在后续工程中又增加了一个样式上补白5px，下补白6px。我们并不一定要写成p.style1{padding:5px 6px 3px 4px}。可以写成p.style1{padding-top:5px;padding-right:6px;},你可能会感觉这样写还不如原来那样好，但你想没想过，你的那种写法重复定义了样式，另外你可以不必去找原来的下补白与左补白的值是多少！如果以后前一个样式P变了话，你定义的p.style1的样式也要变。(此种方法对后期修改样式很重要)</p>
<p align="left"> </p>
<p align="left"><strong>二十二、        </strong><strong>几个常用到的CSS细节处理上的样式</strong></p>
<p align="left">    1）中文字两端对齐：text-align:justify;text-justify:inter-ideograph;</p>
<p align="left">2）固定宽度汉字截断：overflow:hidden;text-overflow:ellipsis;white-space:nowrap;(不让其换行，不过只能处理文字在一行上的截断，不能处理多行。)（IE5以上）FF不能，它只隐藏。</p>
<p align="left"><strong>***</strong><strong>万能强制换行：white-space:normal;word-break:break-all;   </strong></p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left">禁止换行：white-space:nowrap</p>
<p align="left">强制换行：word-wrap: break-word; word-break: normal;</p>
<p align="left">.AutoNewline</p>
<p align="left">{</p>
<p align="left">  /*word-break: break-all; 方法一  必须*/</p>
<p align="left">  /*word-wrap:break-word;overflow:hidden; 方法二  */</p>
<p align="left">  /*word-wrap:break-word; word-break: normal;  方法三 */</p>
<p align="left">    <strong>word-wrap:break-word; word-break:break-all;</strong></p>
<p align="left">}</p>
<p align="left"> </p>
<p align="left">.NoNewline</p>
<p align="left">{</p>
<p align="left">/*word-break: keep-all;  方法一  必须*/</p>
<p align="left">white-space:nowrap;</p>
<p align="left">}</p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left">3）固定宽度汉字（词）折行：table-layout:fixed; word-break:break-all;（IE5以上）FF不能。</p>
<p align="left"> </p>
<p align="left">4）&lt;acronym title=”输入要提示的文字” style=”cursor:help;”&gt;文字&lt;/acronym&gt;用鼠标放在前面的文字上看效果。这个效果在国外的很多网站都可以看到，而国内的少又少。</p>
<p align="left"> </p>
<p align="left">5）图片设为半透明：.halfalpha { background-color:#000000;filter:Alpha(Opacity=50)}在IE6及IE5测试通过，FF未通过，这是因为这个样式是IE私有的东西；</p>
<p align="left"> </p>
<p align="left">6）FLASH透明：选中swf,打开原代码窗口，在&lt;/object&gt;前输入&lt;param name=”wmode” value=”transparent”&gt; 以上是针对IE的代码。</p>
<p align="left">针对FIREFOX 给&lt;embed&gt; 标签也增加类似参数wmode=”transparent”</p>
<p align="left"> </p>
<p align="left">7）在做网页时常用到把鼠标放在图片上会出现图片变亮的效果，可以用图片替换的技巧，也可以用如下的滤镜：</p>
<p align="left">.pictures img {</p>
<p align="left">filter: alpha(opacity=45); }</p>
<p align="left">.pictures a:hover img {</p>
<p align="left">filter: alpha(opacity=90); }</p>
<p align="left"> </p>
<p align="left">8）层在浏览器中居中对齐问题</p>
<p align="left"> body { text-align: center }</p>
<p align="left">#content { text-align: left; width: 700px; margin: 0 auto }</p>
<p align="left"> </p>
<p align="left">9)单行内容在层中垂直对齐问题</p>
<p align="left"># content{height:19px; line-height:19px; }缺点是要内容不要换行。</p>
<p align="left"> </p>
<p align="left">10）层在浏览器中垂直居中对齐问题</p>
<p align="left">    缺点是：水平、垂直方向上不能出现滚动条，只能是在一屏的情况下</p>
<p align="left">其实解决的思路是这样的：首们需要position:absolute;绝对定位。而层的定位，使用外补丁margin负值的方法。负值的大小为层自身宽度高度除以2。</p>
<p align="left">如：一个层宽度是400，高度是300。使用绝对定位距离上部与左部都设置成50%。而margin-top的值为－150。margin-left的值为－200。这样我们就实现了层垂直居中于浏览器的样式编写。</p>
<p align="left"> 请看实例代码：</p>
<p align="left">div {</p>
<p align="left">    position:absolute;</p>
<p align="left">    top:50%;</p>
<p align="left">    left:50%;</p>
<p align="left">    margin:-150px 0 0 -200px;</p>
<p align="left">    width:400px;</p>
<p align="left">    height:300px;</p>
<p align="left">    border:1px solid red;</p>
<p align="left">    }</p>
<p align="left"> </p>
<p align="left">11）CSS控制图片自适应大小</p>
<p align="left">div img {</p>
<p align="left"> max-width:600px;</p>
<p align="left"> width:600px;</p>
<p align="left"> width:expression(document.body.clientWidth&gt;600?&#8221;600px&#8221;:&#8221;auto&#8221;);</p>
<p align="left"> overflow:hidden;</p>
<p align="left">}</p>
<p align="left"> </p>
<p align="left"><strong>二十三、        </strong><strong>使用float属性的元素要注意的问题</strong></p>
<ol>
<li>利用border属性确定出错元素的布局特性</li>
</ol>
<p align="left">　　使用float属性布局一不小心就会出错。这时为元素添加border属性确定元素边界，错误原因即水落石出。</p>
<p align="left"> </p>
<ol>
<li>float元素的父元素不能指定clear属性</li>
</ol>
<p align="left">　　MacIE下如果对float的元素的父元素使用clear属性，周围的float元素布局就会混乱。这是MacIE的著名的bug，倘若不知道就会走弯路。</p>
<p align="left"> </p>
<ol>
<li>float元素务必指定width属性</li>
</ol>
<p align="left">　　很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何，一定要为其指定width属性。</p>
<p align="left">　　另外指定元素时尽量使用em而不是px做单位。</p>
<p align="left"> </p>
<ol>
<li> float元素不能指定margin和padding等属性</li>
</ol>
<p align="left">　　IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性(可以在float元素内部嵌套一个div来设置margin和padding)。也可以使用hack方法为IE指定特别的值。</p>
<p align="left"> </p>
<ol>
<li>float元素的宽度之和要小于100%</li>
</ol>
<p align="left">如果float元素的宽度之和正好是100%，某些古老的浏览器将不能正常显示。因此请保证宽度之和小于99%。</p>
<p align="left"> </p>
<p align="left"><strong>二十四、        </strong><strong>浏览器的兼容性问题（针对FF/IE6/IE7）</strong></p>
<p align="left">    1.CSS hack:区分IE6，IE7，firefox</p>
<p align="left">        区别FF，IE7，IE6：</p>
<p align="left">               background:green !important;  background:orange;  *background:blue;</p>
<p align="left">        IE6能识别*，但不能识别 !important,</p>
<p align="left">        IE7能识别*，也能识别!important;</p>
<p align="left">        FF不能识别*，但能识别!important;</p>
<p align="left">        另外再补充一个，下划线”_“,</p>
<p align="left">        IE6支持下划线，IE7和firefox均不支持下划线。</p>
<p align="left">        于是大家还可以这样来区分firefox，IE7，IE6</p>
<p align="left">                 background:green!important; *background:orange;  _background:blue;</p>
<p align="left">        注：不管是什么方法，书写的顺序都是firefox的写在前面，IE7的写在中间，IE6的写在最后面。</p>
<p align="left"> </p>
<p align="left">2.在firefox和IE中的BOX模型解释不一致导致相差2px解决方法</p>
<p align="left">  div{margin:30px!important;margin:28px;}</p>
<p align="left">注意这两个margin的顺序一定不能写反，!important这个属性IE不能识别，但别的浏览器可以识别。所以在IE下其实解释成这样：div{maring:30px;margin:28px}重复定义的话按照最后一个来执行，所以不可以只写margin:XXpx!important;</p>
<p align="left"> </p>
<p align="left">3.条件性注释来选择不同的浏览器（比CSS hack简洁）</p>
<p align="left">   &lt;!–[if IE 6]&gt;</p>
<p align="left">&lt;link rel=”stylesheet” type=”text/css” href=”ie6.css” mce_href=”ie6.css”&gt;</p>
<p align="left">&lt;![endif]–&gt;</p>
<p align="left"> </p>
<p align="left">4.区分IE8</p>
<p align="left">.color{</p>
<p align="left">background-color: #CC00FF;      /*所有浏览器都会显示为紫色*/</p>
<p align="left">background-color: #FF0000\9;    /*IE6、IE7、IE8会显示红色*/</p>
<p align="left">*background-color: #0066FF;     /*IE6、IE7会变为蓝色*/     </p>
<p align="left">_background-color: #009933;     /*IE6会变为绿色*/</p>
<p align="left"> </p>
<p align="left"> </p>
<p align="left"><strong>二十五、        </strong><strong>W3C</strong><strong>遵循的标准原则</strong></p>
<p align="left">1. 在排布表格之前，请大家一定要好好思考一个最佳的方案，表格的嵌套尽量控制在三层以内，并且应该尽量避免 &lt;colspan&gt; &lt;rowspan&gt; 两个标记，经验表明，这两个标记会带来许多麻烦。</p>
<p>　　2. 一个网页要尽量避免用整个一张大表格，所有的内容都嵌套在这个大表格之内，因为浏览器在解释页面的元素时，是以表格为单位逐一显示，如果一张网页是嵌套在一个大表格之内，那么很可能造成的后果就是，当浏览者敲入网址，他要先面对一片空白很长时间，然后所有的网页内容同时出现。如果必须这样做，请使用 &lt;tbody&gt;标记，以便能够使这个大表格分块显示。</p>
<p align="left">
　　3. 排版中我们经常会遇到需要进行首行缩进的处理，不要使用 或者全角空格来达到效果，规范的做法是在样式表中定义 p { text-indent: 2em; } 然后给每一段加上 &lt;p&gt; 标记，注意，一般情况下，请不要省略 &lt;/p&gt; 结束标记 。</p>
<p align="left">
　　4. 原则上，我们禁止用 &lt;img width=? height=?&gt; 来人为干预图片显示的尺寸，而且建议 &lt;img&gt; 标签中不要带上width 和height 两个属性，这是因为制作过程中，图片往往需要反复的修改，这样可以避免人为干预图片显示的尺寸，尽可能的发挥浏览器自身的功能；但是这样的一个副作用是当网页还未加载图片时，不会留出图片的站位大小，可能会造成网页在加载过程中抖动（如果图片是插在一个固定大小的表格里的，不会有这个现象），尤其是当图片的尺寸较大时，这种现象会很明显，所以当预料到这种会明显导致网页抖动的情况会发生时，请大家务必在最后给 &lt;img&gt;附上 width 和 height 属性。</p>
<p align="left">
　　5. 为了最大程度的发挥浏览器自动排版的功能，在一段完整的文字中请尽量不要使用&lt;br&gt; 来人工干预分段。</p>
<p align="left">
　　6. 不同语种的文字之间应该有一个半角空格，但避头的符号之前和避尾的符号之后除外汉字之间的标点要用全角标点，英文字母和数字周围的括号应该使用半角括号。</p>
<p align="left">
　　7. 所有的字号都应该用样式表来实现，禁止在页面中出现 &lt;font size=?&gt; 标记。</p>
<p align="left">
　　8. 请不要在网页中连续出现多于一个的也尽量少使用全角空格（英文字符集下，全角空格会变成乱码），空白应该尽量使用 text-indent, padding, margin, hspace, vspace 以及透明的gif 图片来实现。</p>
<p align="left">
　　9. 中英文混排时，我们尽可能的将英文和数字定义为verdana 和arial 两种字体。</p>
<p align="left">
　　10. 行距建议用百分比来定义，常用的两个行距的值是line-height:120%/150%.</p>
<p align="left">
　　11. 网站中的路径全部采用相对路径，一般链接到某一目录下的缺省文件的链接路径不必写全名，如我们不必这样：&lt;a href=”aboutus/index.htm”&gt; 而应该这样：&lt;a href=”aboutus/”&gt;</p>
<p align="left">
　　12. 嵌入图形文本的使用较大的字体，建议不要在图形中包括文本。</p>
<p align="left">
　　13.“网页大小”定义为网页的所有文件大小的总和，包括HTML文件和所有的嵌入的对象。用户喜欢快的而不是新奇的站点。对于解调器用户，网页大小保持在34K以下为合适。
</p>
<p align="left"> </p>
<p align="left">　  14. float元素务必指定width属性<br />
　　很多浏览器在显示未指定width的float元素时会有bug。所以不管float元素的内容如何，一定要为其指定width属性。<br />
　　另外指定元素时尽量使用em而不是px做单位。</p>
<p>　　15. float元素不能指定margin和padding等属性<br />
　　IE在显示指定了margin和padding的float元素时有bug。因此不要对float元素指定margin和padding属性（可以在float元素内部嵌套一个div来设置margin和padding）。也可以使用hack方法为IE指定特别的值。</p>
<p>　　16. float元素的宽度之和要小于100%<br />
　　如果float元素的宽度之和正好是100%，某些古老的浏览器将不能正常显示。因此请保证宽度之和小于99%。
</p>
<p align="left"> </p>
<p align="left"><strong> </strong></p>
<p align="left"><strong>二十六、        </strong><strong>列表元素ul ol li dl dt dd释义</strong></p>
<p align="left"><strong>    </strong>　&lt;ul&gt;</p>
<p align="left">        &lt;li&gt;内容1&lt;/li&gt;</p>
<p align="left">&lt;li&gt;内容2&lt;/li&gt;</p>
<p align="left">&lt;/ul&gt;</p>
<p align="left"> </p>
<p align="left">&lt;dl&gt;</p>
<p align="left">  &lt;dt&gt;标题&lt;dt&gt;</p>
<p align="left">  &lt;dd&gt;内容描述1&lt;/dd&gt;</p>
<p align="left">&lt;dd&gt;内容描述2&lt;/dd&gt;</p>
<p align="left">&lt;/dl&gt;</p>
<p align="left"> </p>
<p align="left">l      dt 和dd中可以再加入 ol ul li和p</p>
<p align="left"><strong> </strong></p>
<p align="left"><strong>二十七、        </strong><strong>清除浮动</strong></p>
<p align="left">clearfix:after {content:&#8221;.&#8221;; display:block; height:0; clear:both; visibility:hidden;}</p>
<p align="left">在Firefox中，当子级都为浮动时，那么父级的高度就无法完全的包住整个子级，那么这时用这个清除浮动的HACK来对父级做一次定义，那么就可以解决这个问题 。</p>
<p align="left">.clearfix {</p>
<p align="left">  display:inline-block;</p>
<p align="left">}</p>
<p align="left">/* Hides from IE-mac \*/</p>
<p align="left">* html .clearfix {</p>
<p align="left">  height:1%;</p>
<p align="left">}</p>
<p align="left">.clearfix {</p>
<p align="left">  display:block;</p>
<p align="left">}</p>
<p align="left">/* End hide from IE-mac */</p>
<p align="left"> </p>
<p align="left">**这种用法在进行图文混排时比较多，但是不太好控制，用margin配合clear{clear:both}直接来控制。</p>
<p align="left"><strong> </strong></p>
<p align="left"><strong>二十八、        </strong><strong>文字的处理</strong></p>
<ol>
<li><strong>    </strong>一般的字体：</li>
</ol>
<p align="left">font-family : &#8220;Lucida Grande&#8221;, Verdana, Lucida, Arial, Helvetica, &#8220;宋体&#8221;,sans-serif;</p>
<p align="left"> </p>
<p align="left">标题字体（h1/h2）：font-family: Cambria, Georgia, &#8220;Times New Roman&#8221;, Times, serif;</p>
<p align="left"> </p>
<ol>
<li>首字下沉：</li>
</ol>
<p align="left">P:first-letter{padding:10px,fontsize:32pt;float:left}</p>
<ol>
<li>拼音汉字：</li>
</ol>
<p align="left">&lt;ruby&gt;布鲁斯狼&lt;rt style=&#8221;font-size: 11px;&#8221;&gt;bu lu si lang&lt;/rt&gt;&lt;/ruby&gt;</p>
<p align="left"><strong> </strong></p>
<p align="left"><strong>二十九、        </strong><strong>Min-height</strong><strong>多浏览器兼容问题</strong></p>
<p align="left">Div{</p>
<p align="left">        min-height:450px;</p>
<p align="left">  height:auto!important;</p>
<p align="left">  height:450px;</p>
<p align="left">  overflow:visible;????</p>
<p align="left">}</p>
<p align="left"><strong>三十、   </strong><strong>CSS</strong><strong>布局口诀 &#8211; CSS BUG顺口溜</strong></p>
<ul>
<li>IE边框若显若无，须注意，定是高度设置已忘记；</li>
<li>浮动产生有缘故，若要父层包含住，紧跟浮动要清除，容器自然显其中；</li>
<li>三像素文本慢移不必慌，高度设置帮你忙；</li>
<li>兼容各个浏览须注意，默认设置行高可能是杀手；</li>
<li>独立清除浮动须铭记，行高设无，高设零，设计效果兼浏览；</li>
<li>学布局须思路，路随布局原理自然直，轻松驾驭html，流水布局少hack，代码清爽，兼容好，友好引擎喜欢迎。</li>
<li>所有标签皆有源，只是默认各不同，span是无极，无极生两仪—内联和块级，img较特殊，但也遵法理，其他只是改造各不同，一个*号全归原，层叠样式理须多练习，万物皆规律。</li>
<li>图片链接排版须小心，图片链接文字链接若对齐，padding和vertical-align:middle要设定，虽差微细倒无妨。</li>
<li>IE浮动双边距，请用display：inline拘。</li>
<li>列表横向排版，列表代码须紧靠，空隙自消须铭记。</li>
</ul>
<p align="left"><strong> </strong></p>
<p align="left"><strong>三十一、        </strong><strong>Web</strong><strong>中的字体应用</strong></p>
<p align="left"><strong>总结几套实用而简单的font-family</strong></p>
<p align="left">font-family: Tahoma, Helvetica, Arial, sans-serif;</p>
<p align="left">Tahoma 系的中性字体。推荐使用在13px以上的环境。</p>
<p align="left">font-family: Trebuchet MS, Verdana, Helvetica, Arial, sans-serif;</p>
<p align="left">Verdana 系的宽扁字体。推荐在11px以下环境使用。</p>
<p align="left">font-family: Geogia, Times New Roman, Times, serif;</p>
<p align="left">衬线字体的不二之选。 多用于大号的标题字体16px以上。</p>
<p align="left">font-family: Lucida Console, Monaco, Courier New, mono, monospace;</p>
<p align="left">一系列等宽字体。写代码很好用。另外，如果觉得Lucida Console太宽的话，可以换成比较窄的Lucida Sans Typewriter。话说老赵blog上的代码块使用的就是Lucida Sans Typewriter 哟~</p>
<p align="left"><strong> </strong></p>
<p align="left"><strong> </strong></p>
<p align="left">如果在div的style中把visibility设为hidden则div隐藏，但是它会占据空白空间，而如果设置成display：none则不占据空白空间；<br />
而visible=&#8221;false&#8221;则div不返回在html中；</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2843/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>实用的jQuery视觉手册</title>
		<link>http://010wu.cn/archives/2840</link>
		<comments>http://010wu.cn/archives/2840#comments</comments>
		<pubDate>Mon, 16 Nov 2009 14:02:14 +0000</pubDate>
		<dc:creator>风信子</dc:creator>
				<category><![CDATA[技巧 & 教程]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[手册]]></category>

		<guid isPermaLink="false">http://010wu.cn/?p=2840</guid>
		<description><![CDATA[jQuery视觉手册(jQuery Visual Cheat Sheet)是国外知名前端专家Woork制作的对网站设计师和开发人员都灰常有用且实用的参考手册，针对jQuery 1.3。该手册(共6页)包含了全部的附有较详细描述jQuery API参考和部分示例代码。
手册的设计风格简洁，模块化的组织结构可以让你很方便的找到自己想要的内容。
预览：
 

下载：从box下载
本视觉手册官方地址为 http://woork.blogspot.com/2009/09/jquery-visual-cheat-sheet.html 目前由于某些众所周知的原因，暂时不能访问。
]]></description>
			<content:encoded><![CDATA[<p>jQuery视觉手册(jQuery Visual Cheat Sheet)是国外知名前端专家Woork制作的对网站设计师和开发人员都灰常有用且实用的参考手册，针对jQuery 1.3。该手册(共6页)包含了全部的附有较详细描述jQuery API参考和部分示例代码。</p>
<p>手册的设计风格简洁，模块化的组织结构可以让你很方便的找到自己想要的内容。</p>
<p>预览：</p>
<p> </p>
<p><a href="http://010wu.cn/wp-content/uploads/2009/11/jqueryvs.jpg"><img class="aligncenter size-full wp-image-2839" title="jqueryvs" src="http://010wu.cn/wp-content/uploads/2009/11/jqueryvs.jpg" alt="jqueryvs" width="409" height="264" /></a></p>
<p>下载：<a href="http://www.boxcn.net/shared/as4xkezd6a" target="_blank">从box下载</a></p>
<p>本视觉手册官方地址为 <a href="http://woork.blogspot.com/2009/09/jquery-visual-cheat-sheet.html" target="_blank">http://woork.blogspot.com/2009/09/jquery-visual-cheat-sheet.html</a> 目前由于某些众所周知的原因，暂时不能访问。</p>
]]></content:encoded>
			<wfw:commentRss>http://010wu.cn/archives/2840/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
