<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_维奇-前端档案(Fef)</title><subtitle type="text">专注于前端开发、WEB性能优化、交互设计与用户体验设计、WEB标准。</subtitle><id>http://feed.cnblogs.com/blog/u/64988/rss</id><updated>2010-11-01T05:55:40Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/64988/rss"/><entry><id>http://www.cnblogs.com/wiky/archive/2010/04/21/gradual-change-button.html</id><title type="text">【教程】jQuery打造动态渐变按钮</title><summary type="text">　　这是写给web设计者和前端开发者的教程，我们将演示如何使用Photoshop创建按钮的sprite图，然后是如何使用jQurey打造动态渐变效果。本教程分为以下三步：Step1 - PhotoshopStep2 - HTML/CSSStep3 - JavaScript(jQuery)Step4 - CSS修改</summary><published>2010-04-21T05:28:00Z</published><updated>2010-04-21T05:28:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/04/21/gradual-change-button.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/04/21/gradual-change-button.html"/><content type="html">&lt;p &gt;&lt;a href="javascript:;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102235977.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;这是写给web设计者和前端开发者的教程，我们将演示如何使用Photoshop创建按钮的sprite图，然后是如何使用jQurey打造动态渐变效果。本教程分为以下三步：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step1 - Photoshop&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step2 - HTML/CSS&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step3 - JavaScript(jQuery)&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step4 - CSS修改&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;最终结果如下：&lt;/p&gt;&#xD;
&lt;p &gt;&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/gradual-change-button.html"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102241918.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;您可以点击&lt;a target="_blank" href="http://wiky.000a.biz/demo/0421/gradual-change-button.html"&gt;查看演示&lt;/a&gt;，也可以点击&lt;a target="_blank" href="http://files.cnblogs.com/wiky/gcb_download.rar"&gt;下载源代码&lt;/a&gt;。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step1 - Photoshop&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;1. 新建文件&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;按钮的尺寸是100px X 80px，但由于我们需要创建一个有两种状态的CSS sprite背景图，所以我们在Photoshop中创建（Ctrl+N）一个长宽为200px X 160px的图片文件，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102243084.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;2. 创建参考线&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;为了使绘制按钮更容易，我们创建参考线，从标尺中拉出参考线，如果你找不到标尺，可以按Ctrl+R显示，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102243995.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;3. 绘制形状&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;选择工具面板中的矩形工具，设置圆角半径为10px，在画布上绘制形状，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102301462.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;4. 设置形状样式&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;接上图最后一步，双击层，打开图层样式窗口，设置形状的样式，首先选择渐变叠加，设置渐变颜色从#3d3d3d到#8b8b8b，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102302475.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;然后，选择&amp;ldquo;内发光&amp;rdquo;，设置混合模式为&amp;ldquo;正常&amp;rdquo;，不透明度为100%，颜色设置为#ffffff，图素大小设置为3像素，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102303245.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;之后，再选择&amp;ldquo;描边&amp;rdquo;，设置大小为1像素，位置为&amp;ldquo;内部&amp;rdquo;，颜色为黑色#000000，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102303930.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;5. 添加字体&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;输入文本，设置文字相对水平和垂直居中，字体为&lt;a target="_blank" href="http://font.knowsky.com/down/6513.html"&gt;方正准圆简体&lt;/a&gt;，字号36点，加粗平滑，颜色为白色（#FFFFFF），如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102371222.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;6. 设置字体样式&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;同样的双击文字图层，打开文字图层样式，设置字体样式，点击&amp;ldquo;投影&amp;rdquo;，设置混合模式为&amp;ldquo;正常&amp;rdquo;，颜色为#3e3e3e，不透明度为100%，角度为90度，距离为1像素，大小为2像素；点击&amp;ldquo;内阴影&amp;rdquo;，设置混合模式为&amp;ldquo;正常&amp;rdquo;，颜色为#454545，不透明度为75%，角度为90度，距离为1像素，大小为2像素，如下图所示：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102313274.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;至此，我们就完成链接状态下的按钮背景图，效果如下：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102313848.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;7. 悬停背景图&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;制作鼠标悬停状态下的按钮背景图，把图层放入组内，复制组，移动，并重命名，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102314758.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;8.背景图属性&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;修改hover背景图的样式属性，打开背景图的图层样式窗口，选择&amp;ldquo;描边&amp;rdquo;，修改边框颜色为#004d77；选择&amp;ldquo;渐变叠加&amp;rdquo;，修改渐变从#1671a3到#5baedc，如下图：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102315523.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;9. 设置字体样式&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;打开字体图层样式，选择&amp;ldquo;投影&amp;rdquo;，修改投影颜色为#207aad；选择&amp;ldquo;内阴影&amp;rdquo;，修改字体颜色为#0d4f74，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102320324.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;b&gt;10. 图层半透明&lt;/b&gt;&lt;/p&gt;&#xD;
&lt;p&gt;添加图层半透明效果，按以上步骤修改，鼠标悬停背景图如下，最后是再加上一层半透明层，先添加一个200px X 40px的白色层，置顶并设置白色层的透明度为10%，如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102321293.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;最后，我们完成的CSS sprite背景图如下，您也可以点击&lt;a target="_blank" href="http://files.cnblogs.com/wiky/gcb_download.rar"&gt;下载PSD文件&lt;/a&gt;。&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042102322334.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step2 - HTML/CSS&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;按钮的HTML代码很简单：&lt;/p&gt;&#xD;
&lt;pre &gt;&amp;lt;a class=&amp;rdquo;button&amp;rdquo;&amp;gt;前端档案&amp;lt;/a&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;再通过CSS设置一下背景图片就可以了，CSS代码如下：&lt;/p&gt;&#xD;
&lt;pre &gt;/*链接按钮样式*/&#xD;
.button {&#xD;
	width:200px;&#xD;
	height:80px;&#xD;
	display:block;&#xD;
	background:url(bg_button.gif) top no-repeat;&#xD;
	text-indent:-9999px;&#xD;
}&#xD;
/*按钮悬停样式*/&#xD;
.button:hover{&#xD;
	background:url(bg_button.gif) bottom no-repeat;&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;按照我们前面设计的图片，按钮的长宽为200px X 80px，背景图为黑色按钮。这段CSS就能够实现我们示例中的第一种效果（&lt;a target="_blank" href="http://wiky.000a.biz/demo/0421/gradual-change-button.html"&gt;纯CSS效果&lt;/a&gt;）。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step3 - JavaScript/jQuery&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;通过JavaScript，我们可以让按钮更加炫酷一些，我们需要在之前基础上加一个&amp;lt;span&amp;gt;元素，作为鼠标悬停时候显示的背景层，那么HTML会在DOM加载完成后修改成为：&lt;/p&gt;&#xD;
&lt;pre &gt;&amp;lt;a class=&amp;rdquo;button&amp;rdquo;&amp;gt;&amp;lt;span class=&amp;rdquo;hover&amp;rdquo;&amp;gt;前端档案&amp;lt;/span&amp;gt;&amp;lt;/a&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&amp;lt;span&amp;gt;元素在鼠标悬停前是全透明的，鼠标经过时，逐渐不透明，以达到渐变的效果，动画过程如下图：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010042112533761.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;通过以上分析，我们可以写出jQuery代码如下，在DOM加载完成后，为按钮链接添加&amp;lt;span&amp;gt;层作为鼠标经过时的背景图，在为&amp;lt;span&amp;gt;元素添加鼠标悬停事件，鼠标经过时，渐变至不透明，鼠标离开时，渐变至全透明。&lt;/p&gt;&#xD;
&lt;pre &gt;//把文本包含到&amp;lt;span&amp;gt;元素中，再附加到.button中&#xD;
$('.jsbutton,.viewbutton,.downloadbutton').wrapInner('&amp;lt;span &amp;gt;&amp;lt;/span&amp;gt;').css('textIndent','0').each(function () {&#xD;
	//先设置&amp;lt;span&amp;gt;元素中全透明，再添加鼠标悬停事件&#xD;
$('span.hover').css('opacity', 0).hover(function () {&#xD;
		$(this).stop().fadeTo(650, 1); //渐变至不透明&#xD;
	}, function () {&#xD;
		$(this).stop().fadeTo(650, 0); //渐变至全透明&#xD;
	});&#xD;
});&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;至此，我们完成了JS代码，还要注意一个步骤，CSS修改，见Step4。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;Step4 - CSS修改&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在纯CSS效果的示例中，我们是利用:hover伪类来实现sprite图片的切换，当我们使用jQuery后，是引入一个&amp;lt;span&amp;gt;层作为鼠标经过时背景图，所以CSS需要做如下修改：&lt;/p&gt;&#xD;
&lt;pre &gt;/*之前的按钮悬停样式*/&#xD;
.button:hover{&#xD;
	background:url(bg_button.gif) bottom no-repeat;&#xD;
}&#xD;
&#xD;
修改为&#xD;
&#xD;
/*不需要在设置:hover的样式，而是设置span.hover的样式*/&#xD;
.button span.hover {&#xD;
	/*注意要使用绝对定位*/&#xD;
position: absolute; &#xD;
	display: block;&#xD;
	width:200px;&#xD;
	height:80px;&#xD;
	background:url(bg_button.gif) bottom no-repeat;&#xD;
	text-indent:-9999px;&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;总结&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;以上我们按4个步骤实现了一个&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/gradual-change-button.html"&gt;动态渐变按钮&lt;/a&gt;，在演示中，我还提供了一个扩展示例，您可以跟着自己实现一个，也可以下载源代码修改定制，当然，您有什么好的提议或者有什么问题，欢迎给我留言。&#xD;
&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://wiky.000a.biz/demo/0421/gradual-change-button.html"&gt;查看最终效果&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://files.cnblogs.com/wiky/gcb_download.rar"&gt;下载源代码&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 5px auto; padding: 0px; text-indent: 0px;"&gt;本文地址：&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/gradual-change-button.html"&gt;http://www.cnblogs.com/wiky/articles/gradual-change-button.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin: 5px auto; padding: 0px; text-indent: 0px;"&gt;&lt;span style="margin: 0px; padding: 0px; color: #111111; font-size: medium; line-height: 1.8em;"&gt;&lt;b&gt;&lt;span style="margin: 0px; padding: 0px; color: #111111; font-size: small; line-height: 1.8em;"&gt;&lt;span style="margin: 0px; padding: 0px; color: #3366ff; font-size: 13px; line-height: 1.8em;"&gt;&lt;span style="margin: 0px; padding: 0px; color: #ff0000; font-size: 13px; line-height: 1.8em;"&gt;PS&lt;/span&gt;：本文由&lt;a href="http://www.cnblogs.com/wiky/" target="_blank" style="margin: 0px; padding: 0px; text-decoration: underline; color: #4584c5; border-bottom-width: 0px; border-bottom-style: none;"&gt;维奇&lt;/a&gt;原创，如有转载请注明出处，谢谢！&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wiky/aggbug/1716761.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wiky/archive/2010/04/21/gradual-change-button.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/04/17/better-css-code.html</id><title type="text">【总结】高效整洁CSS代码原则</title><summary type="text">　　CSS学起来并不难，但在大型项目中，就变得难以管理，特别是不同的人在CSS书写风格上稍有不同，团队上就更加难以沟通，为此总结了一些如何实现高效整洁的CSS代码原则，希望这些原则能帮助您更好的书写和管理您的CSS代码：1. 使用Reset但并非全局Reset2. 良好的命名习惯3. 使用代码缩写...13. 代码压缩</summary><published>2010-04-17T06:37:00Z</published><updated>2010-04-17T06:37:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/04/17/better-css-code.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/04/17/better-css-code.html"/><content type="html">&lt;p &gt;&lt;a href="javascript:;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010041713034132.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;CSS学起来并不难，但在大型项目中，就变得难以管理，特别是不同的人在CSS书写风格上稍有不同，团队上就更加难以沟通，为此&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/better-css-code.html"&gt;总结&lt;/a&gt;了一些如何实现高效整洁的CSS代码原则：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;1&lt;/i&gt;. 使用Reset但并非全局Reset&lt;/p&gt;&#xD;
&lt;p&gt;不同浏览器元素的默认属性有所不同，使用Reset可重置浏览器元素的一些默认属性，以达到浏览器的兼容。但需要注意的是，请不要使用全局Reset：&lt;/p&gt;&#xD;
&lt;pre &gt;*{ margin:0; padding:0; }&lt;/pre&gt;&#xD;
&lt;p&gt;这不仅仅因为它是缓慢和低效率的方法，而且还会导致一些不必要的元素也重置了外边距和内边距。在此建议参考&lt;a target="_blank" href="http://developer.yahoo.com/yui/reset/"&gt;YUI Reset&lt;/a&gt;和&lt;a target="_blank" href="http://meyerweb.com/eric/tools/css/reset/index.html"&gt;Eric Meyer&lt;/a&gt;的做法。我跟Eric Meyer的观点相同，Reset并不是一成不变的，具体还需要根据项目的不同需求做适当的修改，以达到浏览器的兼容和操作上的便利性。我使用的Reset如下:&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;pre &gt;/** 清除内外边距 **/&#xD;
body, h1, h2, h3, h4, h5, h6, hr, p,&#xD;
blockquote, /* structural elements 结构元素 */&#xD;
dl, dt, dd, ul, ol, li, /* list elements 列表元素 */&#xD;
pre, /* text formatting elements 文本格式元素 */&#xD;
form, fieldset, legend, button, input, textarea, /* form elements 表单元素 */&#xD;
th, td, /* table elements 表格元素 */&#xD;
img/* img elements 图片元素 */{&#xD;
  border:medium none;&#xD;
  margin: 0;&#xD;
  padding: 0;&#xD;
}&#xD;
/** 设置默认字体 **/&#xD;
body,button, input, select, textarea {&#xD;
  font: 12px/1.5 '宋体',tahoma, Srial, helvetica, sans-serif;&#xD;
}&#xD;
h1, h2, h3, h4, h5, h6 { font-size: 100%; }&#xD;
em{font-style:normal;}&#xD;
/** 重置列表元素 **/&#xD;
ul, ol { list-style: none; }&#xD;
/** 重置超链接元素 **/&#xD;
a { text-decoration: none; color:#333;}&#xD;
a:hover { text-decoration: underline; color:#F40; }&#xD;
/** 重置图片元素 **/&#xD;
img{ border:0px;}&#xD;
/** 重置表格元素 **/&#xD;
table { border-collapse: collapse; border-spacing: 0; }&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;2&lt;/i&gt;. 良好的命名习惯&lt;/p&gt;&#xD;
&lt;p&gt;无疑乱七八糟或者无语义命名的代码，谁看了都会抓狂。就像这样的代码：&lt;/p&gt;&#xD;
&lt;pre &gt;.aaabb{margin:2px;color:red;}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;我想即使是初学者，也不至于会在实际项目中如此命名一个class，但有没有想过这样的代码同样是很有问题的：&lt;/p&gt;&#xD;
&lt;pre &gt;&amp;lt;h1&amp;gt;My name is &amp;lt;span &amp;gt;Wiky&amp;lt;/span&amp;gt;&amp;lt;/h1&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;问题在于如果你需要把所有原本红色的字体改成蓝色，那修改后就样式就会变成：&lt;/p&gt;&#xD;
&lt;pre &gt;.red{color:bule;}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;这样的命名就会很让人费解，同样的命名为.leftBar的侧边栏如果需要修改成右侧边栏也会很麻烦。所以，请不要使用元素的特性（颜色，位置，大小等）来命名一个class或id，您可以选择意义的命名如：#navigation{...}，.sidebar{...}，.postwrap{...}&lt;/p&gt;&#xD;
&lt;p&gt;这样，无论你如何修改定义这些class或id的样式，都不影响它跟HTML元素间的联系。&lt;/p&gt;&#xD;
&lt;p&gt;另外还有一种情况，一些固定的样式，定义后就不会修改的了，那你命名时就不用担忧刚刚说的那种情况，如&lt;/p&gt;&#xD;
&lt;pre &gt;.alignleft{float:left;margin-right:20px;}&#xD;
.alignright{float:right;text-align:right;margin-left:20px;}&#xD;
.clear{clear:both;text-indent:-9999px;}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;那么对于这样一个段落&lt;/p&gt;&#xD;
&lt;pre &gt;&amp;lt;p &amp;gt;我是一个段落！&amp;lt;/p&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;如果需要把这个段落由原先的左对齐修改为右对齐，那么只需要修改它的className就为alignright就可以了。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;3&lt;/i&gt;. 代码缩写&lt;/p&gt;&#xD;
&lt;p&gt;CSS代码缩写可以提高你写代码的速度，精简你的代码量。在CSS里面有不少可以缩写的属性，包括margin，padding，border，font，background和颜色值等，如果您学会了代码缩写，原本这样的代码：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;pre &gt;li{&#xD;
    font-family:Arial, Helvetica, sans-serif;&#xD;
    font-size: 1.2em;&#xD;
    line-height: 1.4em;&#xD;
    padding-top:5px;&#xD;
    padding-bottom:10px;&#xD;
    padding-left:5px;&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;就可以缩写为：&lt;/p&gt;&#xD;
&lt;pre &gt;li{&#xD;
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;&#xD;
    padding:5px 0 10px 5px;&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;如果您想更了解这些属性要怎么缩写，可以参考《&lt;a target="_blank" href="http://www.w3cn.org/article/tips/2005/103.html"&gt;常用CSS缩写语法总结&lt;/a&gt;》或者下载&lt;a target="_blank" href="http://files.cnblogs.com/wiky/css-shorthand-cheat-sheet.pdf"&gt;CSS-Shorthand-Cheat-Sheet.pdf&lt;/a&gt; 。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;4&lt;/i&gt;. 利用CSS继承&lt;/p&gt;&#xD;
&lt;p&gt;如果页面中父元素的多个子元素使用相同的样式，那最好把他们相同的样式定义在其父元素上，让它们继承这些CSS样式。这样你可以很好的维护你的代码，并且还可以减少代码量。那么本来这样的代码：&lt;/p&gt;&#xD;
&lt;pre &gt;#container li{ font-family:Georgia, serif; }&#xD;
#container p{ font-family:Georgia, serif; }&#xD;
#container h1{font-family:Georgia, serif; }&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;就可以简写成：&lt;/p&gt;&#xD;
&lt;pre &gt;#container{ font-family:Georgia, serif; }&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;5&lt;/i&gt;. 使用多重选择器&lt;/p&gt;&#xD;
&lt;p&gt;你可以合并多个CSS选择器为一个，如果他们有共同的样式的话。这样做不但代码简洁且可为你节省时间和空间。如：&lt;/p&gt;&#xD;
&lt;pre &gt;h1{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }&#xD;
h2{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }&#xD;
h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;可以合并为&lt;/p&gt;&#xD;
&lt;pre &gt;h1, h2, h3{ font-family:Arial, Helvetica, sans-serif; font-weight:normal; }&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;6&lt;/i&gt;. 适当的代码注释&lt;/p&gt;&#xD;
&lt;p&gt;代码注释可以让别人更容易读懂你的代码，且合理的组织代码注释，可使得结构更加清晰。你可以选择做的样式表的开始添加目录:&lt;/p&gt;&#xD;
&lt;pre &gt;/*------------------------------------&#xD;
    1. Reset&#xD;
    2. Header&#xD;
    3. Content&#xD;
    4. SideBar&#xD;
    5. Footer&#xD;
  ----------------------------------- */&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;如此你代码的结构就一目了然，你可以容易的查找和修改代码。&lt;/p&gt;&#xD;
&lt;p&gt;而对于代码的主内容，也应适当的加以划分，甚至在有必要的地方在对代码加以注释说明，这样也有利于团队开发:&lt;/p&gt;&#xD;
&lt;pre &gt;/***	Header	***/ &#xD;
#header{ height:145px; position:relative; }&#xD;
#header h1{ width:324px; margin:45px 0 0 20px; float:left;  height:72px;}&#xD;
&#xD;
/***	Content	***/&#xD;
#content{ background:#fff; width:650px; float:left; min-height:600px; overflow:hidden;}&#xD;
#content h1{color:#F00}/* 设置字体颜色 */&#xD;
#content .posts{ overflow:hidden; }&#xD;
#content .recent{ margin-bottom:20px; border-bottom:1px solid #f3f3f3; position:relative; overflow:hidden; }&#xD;
&#xD;
/***	Footer	***/&#xD;
#footer{ clear:both; padding:50px 5px 0; overflow:hidden;}&#xD;
#footer h4{ color:#b99d7f; font-family:Arial, Helvetica, sans-serif; font-size:1.1em; }&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;7&lt;/i&gt;. 给你的CSS代码排序&lt;/p&gt;&#xD;
&lt;p&gt;如果代码中的属性都能按照字母排序，那查找修改的时候就能更加快速:&lt;/p&gt;&#xD;
&lt;pre &gt;/*** 样式属性按字母排序 ***/&#xD;
div{&#xD;
    background-color:#3399cc;&#xD;
    color:#666;&#xD;
    font:1.2em/1.4em Arial, Helvetica, sans-serif;&#xD;
    height:300px;&#xD;
    margin:10px 5px;&#xD;
    padding:5px 0 10px 5px;&#xD;
    width:30%;&#xD;
    z-index:10;&#xD;
}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;8&lt;/i&gt;. 保持CSS的可读性&lt;/p&gt;&#xD;
&lt;p&gt;书写可读的CSS将会使得更容易查找和修改样式。对于以下两种情况，哪种可读性更高，我想不言而明。&lt;/p&gt;&#xD;
&lt;pre &gt;/*** 每个样式属性写一行 ***/&#xD;
div{&#xD;
    background-color:#3399cc;&#xD;
    color:#666;&#xD;
    font: 1.2em/1.4em Arial, Helvetica, sans-serif;&#xD;
    height:300px;&#xD;
    margin:10px 5px;&#xD;
    padding:5px 0 10px 5px;&#xD;
    width:30%;&#xD;
    z-index:10;&#xD;
}&#xD;
&#xD;
/*** 所有的样式属性写在同一行 ***/&#xD;
div{ background-color:#3399cc; color:#666; font: 1.2em/1.4em Arial, Helvetica, sans-serif;  height:300px; margin:10px 5px; padding:5px 0 10px 5px; width:30%; z-index:10; }&lt;/pre&gt;&#xD;
&lt;p&gt;当对于一些样式属性较少的选择器，我会写到一行：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;pre &gt;/*** 选择器属性少的写在同一行 ***/&#xD;
div{ background-color:#3399cc; color:#666;}&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;对于这个规则并非硬性规定，但无论您采用哪种写法，我的建议是始终保持代码一致。属性多的分行写，属性少于3个可以写一行。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;9&lt;/i&gt;. 选择更优的样式属性值&lt;/p&gt;&#xD;
&lt;p&gt;CSS中有些属性采用不同的属性值，虽然达到的效果差不多，当性能上却存在着差异，如&lt;/p&gt;&#xD;
&lt;p&gt;区别在于border:0把border设为0px，虽然在页面上看不见，但按border默认值理解，浏览器依然对border-width/border-color进行了渲染，即已经占用了内存值。&lt;br /&gt;　　而border:none把border设为&amp;ldquo;none&amp;rdquo;即没有，浏览器解析&amp;ldquo;none&amp;rdquo;时将不作出渲染动作，即不会消耗内存值。所以建议使用border:none;&lt;/p&gt;&#xD;
&lt;p&gt;同样的，display:none隐藏对象浏览器不作渲染，不占用内存。而visibility:hidden则会。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;10&lt;/i&gt;. 使用&amp;lt;link&amp;gt;代替@import&lt;/p&gt;&#xD;
&lt;p&gt;首先，@import不属于XHTML标签，也不是Web标准的一部分，它对于较早期的浏览器兼容也不高，并且对于网站的性能有某些负面的影响。具体可以参考《&lt;a target="_blank" href="http://www.qianduan.net/High-performance-web-site-do-not-use-import.html"&gt;高性能网站设计：不要使用@import&lt;/a&gt;》。所以，请避免使用@import&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;11&lt;/i&gt;. 使用外部样式表&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; color: #2e2e2e;"&gt;&lt;span style="line-height: 22px;"&gt;　　这个原则始终是一个很好的设计实践。不单可以更易于维护修改，更重要的是使用外部文件可以提高页面速度，因为CSS文件都能在浏览器中产生缓存。内置在HTML文档中的CSS则会在每次请求中随HTML文档重新下载。所以，在实际应用中，没有必要把CSS代码内置在HTML文档中：&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;pre &gt;&amp;lt;style type="text/css" &amp;gt;&#xD;
    #container{ .. }&#xD;
    #sidebar{ .. }&#xD;
&amp;lt;/style&amp;gt;&#xD;
&#xD;
或&#xD;
&#xD;
&amp;lt;li style="font-family:Arial, helvetica, sans-serif; color:#666; " &amp;gt;&lt;/pre&gt;&#xD;
&lt;p&gt;而是使用&amp;lt;link&amp;gt;导入外部样式表： &lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;pre &gt;&amp;lt;link rel="stylesheet" type="text/css" href="css/styles.css" /&amp;gt;&#xD;
&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;12&lt;/i&gt;. 避免使用CSS表达式（Expression）&lt;/p&gt;&#xD;
&lt;p&gt;CSS表达式是动态设置CSS属性的强大（但危险）方法。Internet Explorer从第5个版本开始支持CSS表达式。下面的例子中，使用CSS表达式可以实现隔一个小时切换一次背景颜色：&lt;/p&gt;&#xD;
&lt;pre &gt;background-color: expression( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );&#xD;
&lt;/pre&gt;&#xD;
&lt;p&gt;如上所示，expression中使用了JavaScript表达式。CSS属性根据JavaScript表达式的计算结果来设置。&lt;/p&gt;&#xD;
&lt;p&gt;表达式的问题就在于它的计算频率要比我们想象的多。不仅仅是在页面显示和缩放时，就是在页面滚动、乃至移动鼠标时都会要重新计算一次。给CSS表达式增加一个计数器可以跟踪表达式的计算频率。在页面中随便移动鼠标都可以轻松达到10000次以上的计算量。&lt;/p&gt;&#xD;
&lt;p&gt;如果必须使用CSS表达式，一定要记住它们要计算成千上万次并且可能会对你页面的性能产生影响。所以，在非不得已，请避免使用CSS表达式。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;13&lt;/i&gt;. 代码压缩&lt;/p&gt;&#xD;
&lt;p&gt;当你决定把网站项目部署到网络上，那你就要考虑对CSS进行压缩，出去注释和空格，以使得网页加载得更快。压缩您的代码，可以采用一些工具，如&lt;a target="_blank" href="http://developer.yahoo.com/yui/compressor/"&gt;YUI Compressor&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;利用它可精简CSS代码，减少文件大小，以获得更高的加载速度。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;14&lt;/i&gt;. 总结&lt;/p&gt;&#xD;
&lt;p&gt;在&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/better-css-code.html"&gt;&lt;span style="color: #333333;"&gt;本文&lt;/span&gt;&lt;/a&gt;中，我力图更详尽的总结书写更高效的CSS代码的原则，但鉴于本人见识和精力有限，我还是希望这些原则能帮助您更好的书写和管理您的CSS代码，不知您又是如何书写CSS的，是否也有一些想要分享的技巧？给我留言吧谢谢~&lt;/p&gt;&#xD;
&lt;p&gt;本文地址：&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/better-css-code.html"&gt;http://www.cnblogs.com/wiky/articles/better-css-code.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="font-family: 'Microsoft JhengHei', 微軟正黑體, 'Microsoft YaHei', 微软雅黑, Verdana, Arial, Helvetica, sans-serif; line-height: 23px; font-size: 13px; color: #111111;"&gt;&lt;span style="color: #ff0000; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;PS：&lt;/span&gt;本文由&lt;a target="_blank" href="http://www.cnblogs.com/wiky" style="text-decoration: underline; color: #4584c5; border-bottom-width: 0px; border-bottom-style: none; border-bottom-color: initial; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #3366ff; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;&lt;strong&gt;维奇&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;总结，如有转载请注明出处，谢谢！&lt;/span&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;参考资料：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://www.problogdesign.com/design/write-better-css-with-best-practices/"&gt;WRITE BETTER CSS WITH BEST PRACTICES&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://webdesignledger.com/tips/10-tips-for-writing-better-css"&gt;10 Tips for Writing Better CSS&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://net.tutsplus.com/tutorials/html-css-techniques/5-tips-to-writing-better-css/"&gt;5 Ways to Instantly Write Better CSS&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wiky/aggbug/1714252.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wiky/archive/2010/04/17/better-css-code.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/04/15/animated-menu-0415.html</id><title type="text">【教程】jQuery打造动态下滑菜单</title><summary type="text">　　本教程将分步讲解如何使用JQuery和CSS打造一个炫酷动感菜单。jQuery的"write less, do more"的特性可谓是家喻户晓，即使没有很丰富JS编程经验的人，也可以通过其提供的API很快学会如何使用，本文将分三步讲解如何实现一个动态下滑菜单。Step1 - HTML结构Step2 - CSS样式Step3 - JavaScript代码</summary><published>2010-04-15T05:47:00Z</published><updated>2010-04-15T05:47:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/04/15/animated-menu-0415.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/04/15/animated-menu-0415.html"/><content type="html">&lt;p &gt;&lt;a href="javascript:void(0)"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010041512103238.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;本教程将分步讲解如何使用JQuery和CSS打造一个炫酷动感菜单。&lt;a target="_blank" href="http://jquery.com/"&gt;jQuery&lt;/a&gt;的"write less, do more"的特性可谓是家喻户晓，即使没有很丰富JS编程经验的人，也可以通过其提供的API很快学会如何使用，当然，如果您经验丰富，我还是建议您可以理解jQuery各主要函数的实现原理，其他不说了，直接看看如何用它来实现菜单神奇的效果吧。&lt;/p&gt;&#xD;
&lt;p style="text-align: center;" &gt;&lt;a href="http://wiky.000a.biz/demo/0415/animated-menu-0415.html"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010041512183310.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;您可以点击&lt;a target="_blank" href="http://wiky.000a.biz/demo/0415/animated-menu-0415.html"&gt;查看演示&lt;/a&gt;，也可以点击&lt;a target="_blank" href="http://files.cnblogs.com/wiky/animated-menu-0415.rar"&gt;下载源代码&lt;/a&gt;。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p  id="step1"&gt;Step1 - HTML结构&lt;/p&gt;&#xD;
&lt;p&gt;看一下菜单的HTML代码，跟平常的菜单代码没有什么区别：&lt;/p&gt;&#xD;
&lt;div onclick="cnblogs_code_show('7ef88b43-3914-4d06-a6b7-b8c8df008d3e')" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; white-space: pre;"&gt;&lt;span style="color: #0000ff;"&gt;  &amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;div &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;id&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="menu"&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="menu"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&#xD;
&lt;div id="cnblogs_code_open_7ef88b43-3914-4d06-a6b7-b8c8df008d3e"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Home&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;HTML/CSS&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;JavaScript&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Resources&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Tutorials&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;        &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;About&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;li&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;ul&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #0000ff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;div&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;关键在于利用脚本在每个锚点(a元素)中建立几个分隔层，这样就可以在鼠标悬停时分别控制它们产生动画。为此，我们要在DOM加载完成时候修改DOM的结构，使得每个锚点代码变成如下：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;a &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;href&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="javascript:;"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;span &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="out"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Home&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;span &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="bg"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;span &lt;/span&gt;&lt;span style="color: #ff0000;"&gt;class&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;="over"&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;Home&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;span&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;lt;/&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;原先的每个锚点中的内容会被附加到两个span元素（.out和.over）里面，另外一个span元素（.bg）为背景图片层。&lt;/p&gt;&#xD;
&lt;p&gt;至于如何修改DOM结构，JS代码将在&lt;a href="#step3"&gt;Step3&lt;/a&gt;中讲解。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p  id="step2"&gt;Step2 - CSS样式&lt;/p&gt;&#xD;
&lt;p&gt;在示例中，展示了两种样式，有使用背景图的和没有使用背景图的（具体&lt;a target="_blank" href="http://wiky.000a.biz/demo/0415/animated-menu-0415.html"&gt;查看演示&lt;/a&gt;），您也可以自由定制自己的样式，以设计出更炫酷的菜单，这里提供基本的样式和解释：&lt;/p&gt;&#xD;
&lt;div onclick="cnblogs_code_show('d3ba5d08-14a9-40e9-9d07-75331de4411d')" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div id="cnblogs_code_open_d3ba5d08-14a9-40e9-9d07-75331de4411d"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;span style="color: #800000;"&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt; 以下是菜单基本的样式 &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;*/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #800000;"&gt;.menu ul li &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    float&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; left&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; 菜单子元素的内容超出不可见 &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    overflow&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; hidden&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;span style="font-family: 'Courier New'; color: #008000;"&gt;/* 以下省略部分代码&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt; &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;.menu ul li a &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; 必须是相对定位  &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;br /&gt;    position&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; relative&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    display&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; block&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    width&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; 110px&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;span style="color: #008000;"&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;/* 以下省略部分代码&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt; &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;*/&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;}&lt;br /&gt;.menu ul li a span &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; 所有层将使用绝对定位 &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    position&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; absolute&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    left&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; 0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    width&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; 110px&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;.menu ul li a span.out &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    top&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; 0px&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;.menu ul li a span.over,&lt;br /&gt;.menu ul li a span.bg &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; 起初.over层和.bg层相对a元素-45px以达到隐藏的效果 &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    top&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; -45px&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; 以下是使用背景图的示例 &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;#menu &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;span style="color: #ff0000;"&gt;&lt;span style="color: #000000;"&gt;　　&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt; 菜单背景 &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;    background&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;url(bg_menu.gif) scroll 0 -1px repeat-x&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    border&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;1px solid #CCC&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;#menu ul li a &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    color&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; #000&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;#menu ul li a span.over &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    color&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; #FFF&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;#menu ul li span.bg &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;span style="color: #ff0000;"&gt;&lt;span style="color: #000000;"&gt;　　&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;/* 指定高度和背景图&lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt; &lt;/span&gt;&lt;span style="font-family: 'Courier New'; color: #008000;"&gt;*/&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;    height&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; 45px&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    background&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; url(bg_over.gif) center center no-repeat&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;您也可以在自行定制CSS样式，这里还提供了简化版的样式（&lt;a target="_blank" href="http://wiky.000a.biz/demo/0415/animated-menu-0415.html"&gt;查看演示&lt;/a&gt;）&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p  id="step3"&gt;Step3 - JavaScript代码&lt;/p&gt;&#xD;
&lt;p align="left"&gt;首先要做的是，实现Step1中所说的，在DOM加载完成后修改其DOM结构，具体做法如下：&lt;/p&gt;&#xD;
&lt;div onclick="cnblogs_code_show('6090d493-905d-4b65-9126-77e4d1c2305f')" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div id="cnblogs_code_open_6090d493-905d-4b65-9126-77e4d1c2305f"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 把每个a中的内容包含到一个层（span.out）中，&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #008000;"&gt;// 然后再在span.out层后面追加背景图层（span.bg）&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;$(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;#menu li a&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).wrapInner( &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;span &amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; )&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;　　　　　　　　　.append( &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;span &amp;gt;&amp;lt;/span&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; );&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 循环为菜单的a每个添加一个层（span.over）&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;$(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;#menu li a&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).each(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;() {&lt;br /&gt;　　$( &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;span &amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;  $(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).text() &lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt; )&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;　　　　　　　　　.appendTo( &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt; );&lt;br /&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;在讲动画代码之前，先看一下动画的过程，如下图所示：&lt;/p&gt;&#xD;
&lt;p style="text-align: center;"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010041513080660.jpg" /&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在&lt;a href="#step1"&gt;Step1&lt;/a&gt;中我们知道DOM加载后，a元素中建立了几个分隔层，在&lt;a href="#step2"&gt;Step2&lt;/a&gt;中，CSS样式中，我们设置了span.bg和span.over层的top属性为-45px，因为span元素已设置为绝对定位，它将相对于li a 元素向上-45px，因为li元素内容超出不可见，所以开始时，.bg层和.over层位于空间范围外。&lt;/p&gt;&#xD;
&lt;p&gt;我们要设置的动画过程是，当鼠标悬停时，三个层同时向下移动，span.out层向下移动至移除可见范围，span.over和span.bg移动进入可见区域，设置span.bg速度比span.over速度稍快，错位产生更加效果。&lt;/p&gt;&#xD;
&lt;p&gt;要实现这样动画效果，使用jQuery的.animate()方法很容易就可以实现，以下是JS代码和解释：&lt;/p&gt;&#xD;
&lt;div onclick="cnblogs_code_show('310527bf-af8f-44d7-83b9-5ba15098c07b')" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div id="cnblogs_code_open_310527bf-af8f-44d7-83b9-5ba15098c07b"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000;"&gt;$(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;#menu li a&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).hover(&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;() {&lt;br /&gt;&lt;/span&gt;　　&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 鼠标悬停时候被触发的函数&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;   $(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.out&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).stop().animate({&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;top&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;45px&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;},&lt;/span&gt;&lt;span style="color: #000000;"&gt;250&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下滑至隐藏&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;   $(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.over&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).stop().animate({&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;top&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;0px&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;},&lt;/span&gt;&lt;span style="color: #000000;"&gt;250&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;下滑至显示&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;   $(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.bg&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).stop().animate({&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;top&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;0px&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;},&lt;/span&gt;&lt;span style="color: #000000;"&gt;120&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//下&lt;/span&gt;&lt;span style="color: #008000;"&gt;滑至显示&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;  }, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;() {&lt;br /&gt;   &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 鼠标移出时候被触发的函数&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;   $(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.out&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).stop().animate({&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;top&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;0px&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;},&lt;/span&gt;&lt;span style="color: #000000;"&gt;250&lt;/span&gt;&lt;span style="color: #000000;"&gt;); &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上滑至显示&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;   $(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.over&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).stop().animate({&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;top&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;-45px&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;},&lt;/span&gt;&lt;span style="color: #000000;"&gt;250&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上滑至隐藏&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;   $(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.bg&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;).stop().animate({&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;top&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;-45px&lt;/span&gt;&lt;span style="color: #000000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;},&lt;/span&gt;&lt;span style="color: #000000;"&gt;120&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt;上滑至隐藏&lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;});&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p &gt;总结&lt;/p&gt;&#xD;
&lt;p&gt;以上讲解了如何一步步打造jQuery动态下滑菜单，您可以按部就班自己实现一个，也可以下载源代码修改定制，当然，您有什么好的提议或者有什么问题，都可以给我留言。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://wiky.000a.biz/demo/0415/animated-menu-0415.html"&gt;查看最终效果&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://files.cnblogs.com/wiky/animated-menu-0415.rar"&gt;下载源代码&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; padding: 0px;"&gt;本文地址：&lt;a target="_blank" href="http://www.cnblogs.com/wiky/articles/animated-menu-0415.html"&gt;http://www.cnblogs.com/wiky/articles/animated-menu-0415.html&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px; padding: 0px;"&gt;&lt;span style="color: #111111; font-size: medium; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;&lt;strong&gt;&lt;span style="color: #111111; font-size: small; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #3366ff; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #ff0000; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;PS&lt;/span&gt;：本文由&lt;a href="http://www.cnblogs.com/wiky/" target="_blank" style="text-decoration: underline; color: #4584c5; border-bottom-width: 0px; border-bottom-style: none; border-bottom-color: initial; padding: 0px; margin: 0px;"&gt;维奇&lt;/a&gt;总结，如有转载请注明出处，谢谢！&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wiky/aggbug/1712602.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wiky/archive/2010/04/15/animated-menu-0415.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/04/01/10-Tips-To-Having-A-Great-Website.html</id><title type="text">【翻译】优秀网站的10个技巧</title><summary type="text">　　每一个网站管理者都希望他们的网站是最好的。总有一个原因让他决定建立一个网站。但不管原因是什么，无论是出于商业目的还是为个人使用，创造一个令人印象深刻的网站始终是主要目标。　　如果您希望您的网站看起来更专业，这十个技巧可能给您很多帮助：1. 导航是关键2. 内容依然是王道...10.保持个人页面简短</summary><published>2010-04-01T06:18:00Z</published><updated>2010-04-01T06:18:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/04/01/10-Tips-To-Having-A-Great-Website.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/04/01/10-Tips-To-Having-A-Great-Website.html"/><content type="html">&lt;p &gt;&lt;a href="javascript:void(0)"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201004/2010040113514467.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;每一个网站管理者都希望他们的网站是最好的。总有一个原因让他决定建立一个网站。但不管原因是什么，无论是出于商业目的还是为个人使用，创造一个令人印象深刻的网站始终是主要目标。&lt;/p&gt;&#xD;
&lt;p&gt;如果您希望您的网站看起来更专业，这十个技巧可能给您很多帮助：&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;1&lt;/i&gt;. 导航是关键&lt;/p&gt;&#xD;
&lt;p&gt;确保您的网站有一个有组织层次结构的文本链接。您的主页可以从每一个页面访问到。链接放置必须引导访问者无缝的从一个页面到另一个而不会造成任何混淆。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;2&lt;/i&gt;. 内容依然是王道&lt;/p&gt;&#xD;
&lt;p&gt;从长远来看，一个信息丰富的网站最终会受欢迎。不仅访问者能从您优化内容的网站获得相关数据，优化内容也将使您的网站对搜索引擎友好。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;3&lt;/i&gt;. 使用适当的文字和图形&lt;/p&gt;&#xD;
&lt;p&gt;不要过度用图片填充您的网站因为搜索机器人不能很好的理解它们。但无论如何，您还是需要它，因为相比一下图片比文字更能吸引访问者。平衡是关键。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;4&lt;/i&gt;. 使用不同的浏览器测试您的网站。&lt;/p&gt;&#xD;
&lt;p&gt;在IE下看起来很好但在Mozilla下就可能不行了。所以请用互联网上流行的浏览器测试您的页面一确保您的网站看起来更加专业。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;5&lt;/i&gt;. 少即是多&lt;/p&gt;&#xD;
&lt;p&gt;如果您看过Google的网站，那您知道这句话的含义。少字节意味着网页加载更快。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;6&lt;/i&gt;. 确保您的网站没有坏链接&lt;/p&gt;&#xD;
&lt;p&gt;对一个互联网冲浪者而言，没有什么比在他们的电脑荧屏上看到页面无法显示更让人沮丧了。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;7&lt;/i&gt;. 确保您的网站没有书写或语法错误&lt;/p&gt;&#xD;
&lt;p&gt;如果您想使您的网站看起来更完美更专业，你必须检查再检查，直到您对您网站的内容感到满意。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;8&lt;/i&gt;. 设计的一致性很重要&lt;/p&gt;&#xD;
&lt;p&gt;不要再您的网站的每一页过度的穿插不同的配色方案。访问者可能会因为他们在不同的网站然后离开。请时刻保持页面统一。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;9&lt;/i&gt;. 节制使用多媒体元素&lt;/p&gt;&#xD;
&lt;p&gt;在您的网站插入音频和视频是好的。但切忌自动播放因为它将会使得你的也没加载更慢。在一些情况下，它可能会崩溃用户的web浏览器。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;10&lt;/i&gt;.保持每个页面简短&lt;/p&gt;&#xD;
&lt;p&gt;你最多只能让它在连击滚动条四下时让它滚动到页面的底部，除此之外，别无它法。&lt;/p&gt;&#xD;
&lt;p &gt;个人小结&lt;/p&gt;&#xD;
&lt;p&gt;很简单的十条小技巧，有些我们可能都知道，但在实际网站建设或者维护的过程中，我们却常常忽视，所以，无论您是一个网站开发人员还是个人站长，请花点时间思考一下，如何让您的网站更加优秀。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #ff0000;"&gt;&lt;strong&gt;PS&lt;/strong&gt;&lt;/span&gt;：中文翻译难以表达原作意蕴，建议品味英文原文。&lt;/p&gt;&#xD;
&lt;p&gt;中文地址：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://www.cnblogs.com/wiky/articles/10-Tips-To-Having-A-Great-Website.html" target="_blank"&gt;&lt;span style="color: #ff00ff;"&gt;http://www.cnblogs.com/wiky/articles/10-Tips-To-Having-A-Great-Website.html&lt;/span&gt;&lt;/a&gt;&lt;a href="http://www.cnblogs.com/wiky/articles/10-Tips-To-Having-A-Great-Website.html" target="_blank"&gt;&lt;span style="color: #ff00ff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;英文地址：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a target="_blank" href="http://www.articlesnatch.com/Article/10-Tips-To-Having-A-Great-Website-/898017"&gt;&lt;span style="color: #ff00ff;"&gt;http://www.articlesnatch.com/Article/10-Tips-To-Having-A-Great-Website-/898017&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #1e90ff; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;&lt;strong&gt;中文由&lt;a target="_blank" href="http://www.cnblogs.com/wiky/" style="text-decoration: underline; color: #328db7; border-bottom-width: 0px; border-bottom-style: none; border-bottom-color: initial; padding: 0px; margin: 0px;"&gt;&lt;span style="color: #4169e1; font-size: 13px; line-height: 1.8em; padding: 0px; margin: 0px;"&gt;维奇&lt;/span&gt;&lt;/a&gt;翻译，如有转载请注明出处，翻译如有错漏欢迎留言指出，谢谢！&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wiky/aggbug/1702272.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wiky/archive/2010/04/01/10-Tips-To-Having-A-Great-Website.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/03/31/CSS-Opacity-Comprehensive-collect.html</id><title type="text">【总结】CSS透明度大汇总</title><summary type="text">　　近年来，CSS不透明算得上是一种相当流行的技术，但在跨浏览器支持上，对于开发者来说，可以说是一件令人头疼的事情。目前还没有一个通用方法，以确保透明度设置可以在目前使用的所有浏览器上有效。　　这篇汇总主要是提供一些CSS不透明的详细介绍，代码示例和解释，以实现这项有用的CSS技术在您的项目中兼容所有浏览器。　　关于CSS 透明度，有一点需要注意的是，它虽然使用了很多年，但它一直以来都不是一个标准属性。它是一种非标准技术，应该是CSS3规范的一部分。</summary><published>2010-03-31T05:38:00Z</published><updated>2010-03-31T05:38:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/03/31/CSS-Opacity-Comprehensive-collect.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/03/31/CSS-Opacity-Comprehensive-collect.html"/><content type="html">&lt;p &gt;&lt;a href="javascript:void(0)"&gt;&lt;img src="http://pic002.cnblogs.com/img/mankaiviky/201003/2010033110393317.jpg" /&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;近年来，CSS不透明算得上是一种相当流行的技术，但在跨浏览器支持上，对于开发者来说，可以说是一件令人头疼的事情。目前还没有一个通用方法，以确保透明度设置可以在目前使用的所有浏览器上有效。&lt;/p&gt;&#xD;
&lt;p&gt;这篇汇总主要是提供一些CSS不透明的详细介绍，代码示例和解释，以实现这项有用的CSS技术在您的项目中兼容所有浏览器。&lt;/p&gt;&#xD;
&lt;p&gt;关于CSS 透明度，有一点需要注意的是，它虽然使用了很多年，但它一直以来都不是一个标准属性。它是一种非标准技术，应该是CSS3规范的一部分。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;1&lt;/i&gt;. 旧的Opacity设置&lt;/p&gt;&#xD;
&lt;p&gt;以下代码是Firefox和Safari旧版本所需的透明度设置:&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #800000;"&gt;#myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    -khtml-opacity&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; .5&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    -moz-opacity&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; 0.5&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;&lt;span style="color: #4584c5;"&gt;-khtml-opacity&lt;/span&gt;设置是针对旧版本的Webkit渲染引擎，这种专用属性现在已经过时了，除非你还有需要兼容Safari 1.x.的用户。&lt;/p&gt;&#xD;
&lt;p&gt;第二行使用专用属性&amp;nbsp;&lt;span style="color: #4584c5;"&gt;-moz-opacity&lt;/span&gt;是&amp;nbsp;为了兼容Mozilla渲染引擎的早期版本，以及追溯到Netscape Navigator。Firefox 0.9以后就不要求使用&lt;span style="color: #4584c5;"&gt;-moz-opacity&lt;/span&gt;属性，Firefox 3.5（现在使用Gecko引擎）已经不在支持这个属性。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;2&lt;/i&gt;. 在Firefox, Safari, Chrome和Opera下的CSS透明度&lt;/p&gt;&#xD;
&lt;p&gt;以下代码是除了IE外的所有当前浏览器的最简单，最最新的不透明度设置的CSS语法：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #800000;"&gt;#myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    opacity&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; .7&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p style="text-align: auto;"&gt;上述语法将设置一个元素为70％不透明（或30%透明）。设置&lt;span style="color: #4584c5;"&gt;opacity:1&lt;/span&gt;将使元素不透明，而设置&lt;span style="color: #4584c5;"&gt;opacity:0&lt;/span&gt;将使得元素完全不可见。你&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
&#xD;
只要记住&amp;ldquo;&lt;span style="color: #4584c5;"&gt;opacity&lt;/span&gt;&amp;rdquo;等同于&amp;ldquo;不透明&amp;rdquo;就很容易记住了，opacity值越小就越接近透明。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;span style="color: #4584c5;"&gt;opacity&lt;/span&gt;属性可以精确地小数点后两位，所以值取&amp;ldquo;.01&amp;rdquo;和&amp;ldquo;.02&amp;rdquo;实际上是不同的，虽然可见度很难被发觉。一般情况下，精确到一位就可以了，取值如&amp;ldquo;.3&amp;rdquo;或&amp;ldquo;.7&amp;rdquo;。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;3&lt;/i&gt;. IE下的CSS透明度&lt;/p&gt;&#xD;
&lt;p&gt;IE下照旧有别于其他浏览器，并且目前也有三个不同版本的IE在广泛使用，透明度设置是不同的，有时需要额外的CSS来控制：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #800000;"&gt;#myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    filter&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; alpha(opacity=40)&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;上面的CSS使用专用的filter属性来设置IE6-8透明度。&lt;strong&gt;&lt;span style="color: #4584c5;"&gt;对于&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #4584c5;"&gt;IE6&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #4584c5;"&gt;和&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #4584c5;"&gt;IE7&lt;/span&gt;&lt;/strong&gt;&lt;strong&gt;&lt;span style="color: #4584c5;"&gt;需要注意：为了使得透明设置生效，元素必须是&amp;ldquo;有布局&amp;rdquo;&lt;/span&gt;&lt;/strong&gt;&lt;span style="color: #4584c5;"&gt;。&lt;/span&gt;一个元素可以通过使用一些CSS属性来使其被布局，有如&lt;span style="color: #4584c5;"&gt;width&lt;/span&gt;&amp;nbsp;和&amp;nbsp;&lt;span style="color: #4584c5;"&gt;position&lt;/span&gt;。关于微软专有的&lt;span style="color: #4584c5;"&gt;hasLayout&lt;/span&gt;属性详情，以及如何触发它，&lt;a target="_blank" href="http://reference.sitepoint.com/css/haslayout"&gt;参考这里&lt;/a&gt;。&lt;/p&gt;&#xD;
&lt;p&gt;另外一个设置IE8的CSS透明度的方法语法如下（注意注释中指出的版本）：&lt;/p&gt;&#xD;
&lt;div onclick="cnblogs_code_show('c0718ff3-b813-474f-a155-3448080d1773')" style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;div id="cnblogs_code_open_c0718ff3-b813-474f-a155-3448080d1773"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;span style="color: #800000;"&gt;#myElement &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    filter&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; progid:DXImageTransform.Microsoft.Alpha(opacity=40)&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;   &lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt; 第一行在IE6, IE7和IE8下有效 &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #ff0000;"&gt; &lt;br /&gt;    -ms-filter&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #0000ff;"&gt;      "progid:DXImageTransform.Microsoft.Alpha(opacity=40)"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;/*&lt;/span&gt;&lt;span style="color: #008000;"&gt;第二行仅在IE8下有效 &lt;/span&gt;&lt;span style="color: #008000;"&gt;*/&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;第一行代码针对当前所有IE版本，第二行仅针对IE8。&lt;/p&gt;&#xD;
&lt;p&gt;注意两行代码的不同之处：在第二行代码中，在&lt;span style="color: #4584c5;"&gt;filter&lt;/span&gt;属性前跟着&lt;span style="color: #4584c5;"&gt;-ms-&lt;/span&gt;前缀，并且属性值有加引号，这些都是语法所必须的。&lt;/p&gt;&#xD;
&lt;p&gt;说实在，有了如前一个例子中用alpha(opacity=40)的语法来作用于任何版本的IE下的任何有布局的元素之后，我也不确定是否还有必要用&amp;ldquo;progid&amp;rdquo;的方法。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;4&lt;/i&gt;. 使用JavaScript设置和改变CSS透明度&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;您可以使用下面的语法访问JavaScript中的CSS opacity&amp;nbsp;属性：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000;"&gt;document.getElementById(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;myElement&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).style.opacity &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt; &lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;.4&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 针对所有现代浏览器  &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;document.getElementById(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;myElement&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).style.filter &lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;　　&amp;nbsp;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;alpha(opacity=40)&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif;"&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 针对IE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;上面的代码可以使用行内循环或者其他动态函数递增修改透明度的值。当然，你必须先通过&lt;a target="_blank" href="http://www.nczonline.net/blog/2009/12/29/feature-detection-is-not-browser-detection/"&gt;特征检测&lt;/a&gt;来决定使用哪一行代码。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;5&lt;/i&gt;. 使用JQuery设置和改变CSS透明度&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p&gt;直接使用jQuery设置CSS透明度更直观更容易实现，因为在所有浏览器代码都一样，并且你不必担心在IE下元素是否&amp;ldquo;&lt;span style="color: #4584c5;"&gt;haslayout&lt;/span&gt;&amp;rdquo;：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000;"&gt;$(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;#myElement&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).css({ opacity: .&lt;/span&gt;&lt;span style="color: #000000;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt; }); &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 所有浏览器有效&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;您也可以使用一下jQuery代码使一个元素&lt;a target="_blank" href="http://api.jquery.com/animate/"&gt;动画透明&lt;/a&gt;：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #000000;"&gt;$(&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;#myElement&lt;/span&gt;&lt;span style="color: #000000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;).animate({  &lt;br /&gt;    opacity: .&lt;/span&gt;&lt;span style="color: #000000;"&gt;4&lt;/span&gt;&lt;span style="color: #000000;"&gt;  &lt;br /&gt;    }, &lt;/span&gt;&lt;span style="color: #000000;"&gt;1000&lt;/span&gt;&lt;span style="color: #000000;"&gt;, &lt;/span&gt;&lt;span style="color: #0000ff;"&gt;function&lt;/span&gt;&lt;span style="color: #000000;"&gt;() {  &lt;br /&gt;    &lt;/span&gt;&lt;span style="color: #008000;"&gt;//&lt;/span&gt;&lt;span style="color: #008000;"&gt; 动画完成，所有浏览器下有效  &lt;/span&gt;&lt;span style="color: #008000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;});  &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;不管元素的透明度在动画开始时是多少，它都会渐变到透明度为&amp;ldquo;.4&amp;rdquo;。动画的速度通过值&amp;ldquo;1000&amp;rdquo;设定，动画时间以毫秒为单位。代码中的最后一个属性是一个可选回调函数，将在动画完成后执行。&lt;/p&gt;&#xD;
&lt;p&gt;如果该元素的透明度在CSS中已经设定为&amp;ldquo;.4&amp;rdquo;，那在动画运行的时候，你将不会发觉有任何不同，所以动画开始和最终透明度要有所不同。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;6&lt;/i&gt;. 通过 RGBA的透明度&lt;/p&gt;&#xD;
&lt;p&gt;另一个CSS3技术只支持部分新的浏览器（Firefox 3+, Opera 10.1+, Chrome 2+,Safari 3.1+），可通过RGBA的alpha通道的方式设定。语法如下：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #800000;"&gt;#rgba &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    background&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; rgba(98, 135, 167, .4)&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt; &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;在上面的定义中，通过RGB（前三个数字）给背景设定颜色，然后最后一个是alpha设置，以执行给定颜色的透明度。这个alpha设置跟&lt;span style="color: #4584c5;"&gt;opacity&lt;/span&gt;&amp;nbsp;属性一样，可设定任何0到1的数字，精确得到两位小数点。数字值越大，就越接近完全不透明的颜色。&lt;/p&gt;&#xD;
&lt;p &gt;&lt;i&gt;7&lt;/i&gt;. 通过 HSLA的透明度&lt;/p&gt;&#xD;
&lt;p&gt;类似之前的定义，CSS3还允许使用HSLA单独设置颜色和alpha值，HSLA表示&lt;span style="color: #4584c5;"&gt;Hue&lt;/span&gt;（色调）, &lt;span style="color: #4584c5;"&gt;Saturation&lt;/span&gt;（饱和度）, &lt;span style="color: #4584c5;"&gt;Lightness&lt;/span&gt;（亮度）, 和&lt;span style="color: #4584c5;"&gt;Alpha&lt;/span&gt;。以下是HSLA透明的例子：&lt;/p&gt;&#xD;
&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&#xD;
&lt;pre&gt;&lt;div&gt;&lt;!--&lt;br /&gt;&lt;br /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br /&gt;http://www.CodeHighlighter.com/&lt;br /&gt;&lt;br /&gt;--&gt;&lt;span style="color: #800000;"&gt;#hsla &lt;/span&gt;&lt;span style="color: #000000;"&gt;{&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;    background&lt;/span&gt;&lt;span style="color: #000000;"&gt;:&lt;/span&gt;&lt;span style="color: #0000ff;"&gt; hsla(207, 38%, 47%, .4)&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;  &lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;}&lt;/span&gt;&lt;span style="color: #800000;"&gt;  &lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&#xD;
&lt;/div&gt;&#xD;
&lt;p&gt;更多关于HSLA颜色的解释，参考&lt;a target="_blank" href="http://www.w3.org/TR/2003/CR-css3-color-20030514/#hsla-color"&gt;这篇来自W3.org的文章&lt;/a&gt;。如同RGBA透明度，最后的数字表示透明度设置，跟RGBA起同样的作用。注意RGBA和HSLA透明度的一个重要的好处是这些透明度设置不会影响到子元素的，但通过&lt;span style="color: #4584c5;"&gt;opacity&lt;/span&gt;属性的方式则会。alpha设置的RGBA和HSLA只影响背景颜色的透明度，仅此而已。&lt;/p&gt;&#xD;
&lt;p&gt;我希望我能涉及主要的跨浏览器的CSS透明度代码。如果内容有错漏，欢迎随时评论指出，我将乐意作更正或补充。谢谢~&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"&gt;本文地址：&lt;a target="_blank" href="http://www.cnblogs.com/wiky/archive/2010/03/31/CSS-Opacity-Comprehensive-collect.html"&gt;http://www.cnblogs.com/wiky/archive/2010/03/31/CSS-Opacity-Comprehensive-collect.html&amp;nbsp;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p style="margin-top: 5px; margin-right: auto; margin-bottom: 5px; margin-left: auto; text-indent: 0px;"&gt;&lt;span style="font-size: medium;"&gt;&lt;strong&gt;&lt;span style="font-size: small;"&gt;&lt;span style="color: #3366ff;"&gt;&lt;span style="color: #ff0000;"&gt;PS&lt;/span&gt;：本文由&lt;a href="http://www.cnblogs.com/wiky/" target="_blank"&gt;维奇&lt;/a&gt;总结，如有转载请注明出处，谢谢！&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/wiky/aggbug/1701328.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/wiky/archive/2010/03/31/CSS-Opacity-Comprehensive-collect.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/02/03/web-standard-exchange.html</id><title type="text">【总结】WEB标准化交流会小记--广州站</title><summary type="text">　　现在已经是第四期WEB标准化交流会了，广州站是本期新开通的，本次交流会的话题是&amp;ldquo;页面重构合理化讨论后续&amp;rdquo;，地点是网易大厦的&amp;ldquo;沉毅&amp;rdquo;会议室，非常感谢交流会主办方提供这样一个平台给前端从业者可以共同研讨前端动态，也感谢参会的同志们，特别是主负责人林毅同志和主持人扬眉同志~　　交流会报了名后暂住在深圳，交流会是在1月30日，当日就跑回广州参会了，碰上2月1日在深圳有个面试，又到深圳</summary><published>2010-02-03T13:29:00Z</published><updated>2010-02-03T13:29:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/02/03/web-standard-exchange.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/02/03/web-standard-exchange.html"/></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/02/03/what-a-good-website-need.html</id><title type="text">【分享】一个好的网站需要什么</title><summary type="text">序言在本篇文章中，我们将考察The Dung Beatles乐队网站的内容，以了解好的Web站点和网页需要包含些什么要素。你们尚不需要去研究网站和网页的基础代码，而只需考察不同的网页，思考其中应该包括哪些要素，并思考一些关键性的问题，如一致性、可用性和可访问性。本篇文章的目录如下：主页 对我们的网站来说，这意味着什么？&lt;a </summary><published>2010-02-03T11:29:00Z</published><updated>2010-02-03T11:29:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/02/03/what-a-good-website-need.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/02/03/what-a-good-website-need.html"/></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/01/26/javaScript-library-or-code-yourself.html</id><title type="text">【翻译】使用JavaScript库还是自写代码？</title><summary type="text">　　有时候在写JavaScript添加到你的网页中的时候，你将需要决定是使用已有的可用的JavaScript库还是自己写所有代码。其中每个各有优缺点，因此没有任何一种方式对每个人来说都是绝对正确的选择。你必须做出决定以这两种方法中的哪一种来写你的JavaScript，为了帮助您作出明智的决定哪个更适合你，我们将对比一下这两种方法的一些优劣。　　在过去使用JavaScript库的一个缺点是，库往往相当大，也许包括不少代码在你的个人网页实际是不怎么使用的。因此，编写自己的代码可以被认为是最能完全满足你真正需求的方法，而且没有其他比这更有效的方法了</summary><published>2010-01-26T12:20:00Z</published><updated>2010-01-26T12:20:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/01/26/javaScript-library-or-code-yourself.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/01/26/javaScript-library-or-code-yourself.html"/></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/01/16/website-makes-browser-crash-reasons.html</id><title type="text">【总结】网站令浏览器崩溃的原因</title><summary type="text">　　面试某公司的时候，面试官问到，导致浏览器崩溃的原因有哪些？愚辈不才，仅回答出了内存泄漏。其实在网页在装载的过程中，常常由于种种原因使浏览器的反映变的很慢，或造成浏览器失去响应，甚至会导致机器无法进行其他的操作。　　对于访客，如果登录您网站，浏览器就立刻崩溃，我想这对谁都是无法容忍的，对此总结了网站导致浏览器崩溃的原因：1. 内存泄漏2. 网页代码复杂和浏览器bug&lt;p class="mk_titl</summary><published>2010-01-16T06:19:00Z</published><updated>2010-01-16T06:19:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/01/16/website-makes-browser-crash-reasons.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/01/16/website-makes-browser-crash-reasons.html"/></entry><entry><id>http://www.cnblogs.com/wiky/archive/2010/01/13/ten_reasons_to_learn_and_use_web_standards.html</id><title type="text">【翻译】学习和使用web标准的十大理由</title><summary type="text">　　如果你是一个新接触web标准这个概念并且还犹豫是否应该花时间去学习它的web开发者或者设计者，这里有一些让你去学习它的重要理由。　　对于已经使用web标准的web专业人士，当你需要很好的论据的时候这份清单可能可以派上用场，并且随意添加任何你所想到的好处。1. 让自己看起来更专业...7. 让你的标记易于维护</summary><published>2010-01-13T11:19:00Z</published><updated>2010-01-13T11:19:00Z</updated><author><name>漫凯维奇</name><uri>http://www.cnblogs.com/wiky/</uri></author><link rel="alternate" href="http://www.cnblogs.com/wiky/archive/2010/01/13/ten_reasons_to_learn_and_use_web_standards.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/wiky/archive/2010/01/13/ten_reasons_to_learn_and_use_web_standards.html"/></entry></feed>
