<?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>ZH CEXO's BLOG</title>
	<atom:link href="http://www.zhcexo.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.zhcexo.com</link>
	<description>探寻网络 分享发现</description>
	<lastBuildDate>Fri, 23 Mar 2012 07:01:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>更换Firefox默认查看源代码工具的配色方案（更新）</title>
		<link>http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/</link>
		<comments>http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 06:55:34 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Toolkit]]></category>
		<category><![CDATA[下载]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1246</guid>
		<description><![CDATA[之前写过《更换Firefox默认查看源代码工具的配色方案》，后来收到过评论还有邮件上的反馈，这些东西整理一下无外乎两点：一是提供的链接不能下载到文件了（uushare 关掉了），另外就是新版的 Firefox 再也找不到我所说的路径什么东西了。最近又在看一些代码，还是有觉得默认样式很丑的感叹，然后之前的版本我自己都没有备份，所以只好再重做一个了。

依然采用的是 Monokai 这个配色，用的是 Notepad++ 里面的配色方案为参照，并且把字体的样式什么的都修改了一下，看上去应该会舒服很多。预览图如下

<span class="readmore"><a href="http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/" title="更换Firefox默认查看源代码工具的配色方案（更新）">阅读全文——共596字</a></span>]]></description>
			<content:encoded><![CDATA[<p>之前写过《<a href="http://www.zhcexo.com/change-firefox-default-code-display-color-scheme/" target="_blank">更换Firefox默认查看源代码工具的配色方案</a>》，后来收到过评论还有邮件上的反馈，这些东西整理一下无外乎两点：一是提供的链接不能下载到文件了（uushare 关掉了），另外就是新版的 Firefox 再也找不到我所说的路径什么东西了。最近又在看一些代码，还是有觉得默认样式很丑的感叹，然后之前的版本我自己都没有备份，所以只好再重做一个了。</p>
<p>依然采用的是 Monokai 这个配色，用的是 Notepad++ 里面的配色方案为参照，并且把字体的样式什么的都修改了一下，看上去应该会舒服很多。预览图如下</p>
<p style="text-align:center"><img width="608" height="310" alt="更换Firefox默认查看源代码工具的配色方案（更新）" src="http://lh6.googleusercontent.com/-3iwCvToB12U/T2wbtXfc5YI/AAAAAAAADLk/immh6rHUYcA/s800/QQ%25E6%2588%25AA%25E5%259B%25BE20120323143848.png" title="更换Firefox默认查看源代码工具的配色方案（更新）" /></p>
<blockquote>
<p>使用方法：</p>
<ol>
<li>1、下载我提供的 viewsource.zip 这个文件，解压得到 viewsource.css 这个文件</li>
<li>2、打开你的 Firefox 安装文件夹，在里面找到 omni.ja 这个文件</li>
<li>3、把 omni.ja 的后缀名改成 .zip 也就是改成 omni.zip</li>
<li>4、用 windows 自带的解压工具（资源管理器）解压提取它，请注意这里不要使用 7-zip 等其他的压工具，无效的</li>
<li>5、解压出来的文件按路径找到 \chrome\toolkit\res\viewsource.css 这个文件，然后用下载的文件替换这个</li>
<li>6、把解压过的文件安原来的方式用 zip 压缩一下，再把压缩生成的 zip 文件改成 omni.ja，拿去 Firefox 安装文件夹下面覆盖同名文件即可。需要注意的是，替换之前，请备份原来的 omni.ja 文件！！</li>
</ol>
</blockquote>
<p><a class="download" href="http://www.box.com/s/b5bbdbe395d2d46e4f73" target="_blank">点击此处下载文件</a></p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/change-firefox-default-code-display-color-scheme/" title="更换Firefox默认查看源代码工具的配色方案">更换Firefox默认查看源代码工具的配色方案</a></li><li><a href="http://www.zhcexo.com/colortip-fixed-for-ie6/" title="修正一下jQuery插件Colortip在IE6下面的显示问题">修正一下jQuery插件Colortip在IE6下面的显示问题</a></li><li><a href="http://www.zhcexo.com/lightscreen/" title="推荐截屏软件Lightscreen">推荐截屏软件Lightscreen</a></li><li><a href="http://www.zhcexo.com/diy-a-chrome-like-start-page-for-firefox/" title="为Firefox做一个静态起始标签页">为Firefox做一个静态起始标签页</a></li><li><a href="http://www.zhcexo.com/soft-package/" title="发布软件包镜像">发布软件包镜像</a></li><li><a href="http://www.zhcexo.com/windows-7-experience/" title="当小白，亲自体验Windows 7">当小白，亲自体验Windows 7</a></li><li><a href="http://www.zhcexo.com/shock-3d-desktop/" title="漂亮的3D桌面">漂亮的3D桌面</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/youku-light-on/" title="这回整优酷了，脚本脚本">这回整优酷了，脚本脚本</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2012. |
<a href="http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/">查看原文</a> |
<a href="http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/#comments">17 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/firefox/" rel="tag">Firefox</a>, <a href="http://www.zhcexo.com/tag/toolkit/" rel="tag">Toolkit</a>, <a href="http://www.zhcexo.com/tag/download/" rel="tag">下载</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
		</item>
		<item>
		<title>GM脚本：Simple Google Reader Style V1.31</title>
		<link>http://www.zhcexo.com/simple-gr-update-to-1-31/</link>
		<comments>http://www.zhcexo.com/simple-gr-update-to-1-31/#comments</comments>
		<pubDate>Thu, 22 Dec 2011 08:15:39 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1201</guid>
		<description><![CDATA[昨天完成了工作任务之后，看了一下Google Reader，然后自己使用的脚本虽然已经增大了阅读区域，但是又觉得顶部的一片区域还是很白，而且搜索啊订阅啊什么的，平时用得不是太多，那既然不用，为什么不隐藏掉呢？开始动手，于是这个小更新的V1.31版Simple Google Reader Style就跟大家见面了。

顶部的区域默认是隐藏的。左侧的&#8220;主页&#8221;的顶部，添加了一个&#8220;显示顶部&#8221;的按钮，点击它可以切换顶部的显示和隐藏，大家自行试试吧。

自动更新的功能，表示研究了半天摸不着头脑，网上流传的方法也没生效啊。写了多段测试代码都失败了，看来我得多看看书。

<span class="readmore"><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">阅读全文——共303字</a></span>]]></description>
			<content:encoded><![CDATA[<p>昨天完成了工作任务之后，看了一下Google Reader，然后自己使用的脚本虽然已经增大了阅读区域，但是又觉得顶部的一片区域还是很白，而且搜索啊订阅啊什么的，平时用得不是太多，那既然不用，为什么不隐藏掉呢？开始动手，于是这个小更新的V1.31版Simple Google Reader Style就跟大家见面了。</p>
<p>顶部的区域默认是隐藏的。左侧的&ldquo;主页&rdquo;的顶部，添加了一个&ldquo;显示顶部&rdquo;的按钮，点击它可以切换顶部的显示和隐藏，大家自行试试吧。</p>
<p>自动更新的功能，表示研究了半天摸不着头脑，网上流传的方法也没生效啊。写了多段测试代码都失败了，看来我得多看看书。</p>
<p style="text-align:center;"><img src="http://lh4.googleusercontent.com/-9h4Aacuu-3Y/TvLmExXuTWI/AAAAAAAADKo/ndSKhITypSg/s800/gr131.png" alt="GM脚本：Simple Google Reader Style V1.31"  title="GM脚本：Simple Google Reader Style V1.31" /></p>
<p><a class="download" href="http://userscripts.org/scripts/show/93084" target="_blank">点击此处下载脚本</a></p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/bottons-with-jquery-css3/" title="用jQuery或者CSS3创建简单的动态按钮">用jQuery或者CSS3创建简单的动态按钮</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/youku-light-on/" title="这回整优酷了，脚本脚本">这回整优酷了，脚本脚本</a></li><li><a href="http://www.zhcexo.com/two-more-grease-monkey-scripts/" title="再放出两个油猴脚本好了">再放出两个油猴脚本好了</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-2/" title="GM脚本：Simple Google Reader Style V1.2">GM脚本：Simple Google Reader Style V1.2</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-1/" title="GM脚本：Simple Google Reader Style V1.1">GM脚本：Simple Google Reader Style V1.1</a></li><li><a href="http://www.zhcexo.com/this-in-javascript/" title="JavaScript中的this到底是什么">JavaScript中的this到底是什么</a></li><li><a href="http://www.zhcexo.com/anti-apple-beta/" title="原创Anti-AppleBeta的油猴脚本">原创Anti-AppleBeta的油猴脚本</a></li><li><a href="http://www.zhcexo.com/user-js-for-google-reader/" title="我自定的Google Reader最大化阅读区域的油猴脚本">我自定的Google Reader最大化阅读区域的油猴脚本</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/simple-gr-update-to-1-31/">查看原文</a> |
<a href="http://www.zhcexo.com/simple-gr-update-to-1-31/#comments">16 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/greasemonkey/" rel="tag">GreaseMonkey</a>, <a href="http://www.zhcexo.com/tag/javascript/" rel="tag">javascript</a>, <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/simple-gr-update-to-1-31/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>GM脚本：Simple Google Reader Style V1.3</title>
		<link>http://www.zhcexo.com/simple-gr-update-to-1-3/</link>
		<comments>http://www.zhcexo.com/simple-gr-update-to-1-3/#comments</comments>
		<pubDate>Wed, 30 Nov 2011 11:38:03 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[GreaseMonkey]]></category>
		<category><![CDATA[Toolkit]]></category>
		<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1198</guid>
		<description><![CDATA[Google Reader风格来了一次大转变，然后这个脚本就失效了，也已经有朋友向我反应脚本没用了的问题，无奈我一直没有什么时间。今天下午做完了自己的任务之后，偷闲了一下，简单看了一下Google Reader的新界面，结果就把这个脚本整了出来。谢谢大家的支持啊！先上一张总效果的图：



虽然GM脚本很强大，但也只能基于新GR的版面来改，要想改得面目全非，除了需要技术，还需要时间，而这两种东西我现在都没有= =。做成原来版面的效果基本上不可能了，但我还是按着自己觉得舒服的方式改动了一下。

<span class="readmore"><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">阅读全文——共434字</a></span>]]></description>
			<content:encoded><![CDATA[<p>Google Reader风格来了一次大转变，然后这个脚本就失效了，也已经有朋友向我反应脚本没用了的问题，无奈我一直没有什么时间。今天下午做完了自己的任务之后，偷闲了一下，简单看了一下Google Reader的新界面，结果就把这个脚本整了出来。谢谢大家的支持啊！先上一张总效果的图：</p>
<p style="text-align:center"><img src="https://lh3.googleusercontent.com/-bLT2irdr7jE/TtYRiazHTVI/AAAAAAAADKI/YnhssW2dT9s/s800/gr1301.png" alt="GM脚本：Simple Google Reader Style V1.3"  title="GM脚本：Simple Google Reader Style V1.3" /></p>
<p>虽然GM脚本很强大，但也只能基于新GR的版面来改，要想改得面目全非，除了需要技术，还需要时间，而这两种东西我现在都没有= =。做成原来版面的效果基本上不可能了，但我还是按着自己觉得舒服的方式改动了一下。</p>
<p style="text-align:center"><img src="https://lh6.googleusercontent.com/-CK-HRejr6Wk/TtYRigAVdAI/AAAAAAAADKI/KGqsY-dTSN0/s800/gr1302.png" alt="GM脚本：Simple Google Reader Style V1.3"  title="GM脚本：Simple Google Reader Style V1.3" /></p>
<p>大红色的订阅按钮我把它放到搜索框的右边了，另外，导航栏里面的常用链接，我把它也放到搜索框右边的&ldquo;常用的链接&rdquo;那一项里面了。再者，把阅读文章时候，功能区的高度缩小了，用来扩大阅读区的视野。</p>
<p style="text-align:center"><img src="https://lh3.googleusercontent.com/-7pHm3UEOuDs/TtYRjkbuwWI/AAAAAAAADKI/I89BDzrmgMc/s800/gr1303.png" alt="GM脚本：Simple Google Reader Style V1.3"  title="GM脚本：Simple Google Reader Style V1.3" /></p>
<p>最后，还是把字体改成了雅黑，字号改成16px，行距为两倍行距。至于长行短行切换的问题，脚本自动更新的问题，顶部导航条怎么处理，这个版本里都没有，抱歉了各位。。。</p>
<p><a target="_blank" href="http://userscripts.org/scripts/show/93084" title="Simple Google Reader Style V1.3" class="download">点击此处下载此脚本</a></p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/youku-light-on/" title="这回整优酷了，脚本脚本">这回整优酷了，脚本脚本</a></li><li><a href="http://www.zhcexo.com/two-more-grease-monkey-scripts/" title="再放出两个油猴脚本好了">再放出两个油猴脚本好了</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-2/" title="GM脚本：Simple Google Reader Style V1.2">GM脚本：Simple Google Reader Style V1.2</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-1/" title="GM脚本：Simple Google Reader Style V1.1">GM脚本：Simple Google Reader Style V1.1</a></li><li><a href="http://www.zhcexo.com/anti-apple-beta/" title="原创Anti-AppleBeta的油猴脚本">原创Anti-AppleBeta的油猴脚本</a></li><li><a href="http://www.zhcexo.com/user-js-for-google-reader/" title="我自定的Google Reader最大化阅读区域的油猴脚本">我自定的Google Reader最大化阅读区域的油猴脚本</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">GM脚本：Simple Google Reader Style V1.31</a></li><li><a href="http://www.zhcexo.com/change-firefox-default-code-display-color-scheme-2/" title="更换Firefox默认查看源代码工具的配色方案（更新）">更换Firefox默认查看源代码工具的配色方案（更新）</a></li><li><a href="http://www.zhcexo.com/css-input-file-area/" title="使用CSS美化文件上传表单">使用CSS美化文件上传表单</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/simple-gr-update-to-1-3/">查看原文</a> |
<a href="http://www.zhcexo.com/simple-gr-update-to-1-3/#comments">10 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/greasemonkey/" rel="tag">GreaseMonkey</a>, <a href="http://www.zhcexo.com/tag/toolkit/" rel="tag">Toolkit</a>, <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/simple-gr-update-to-1-3/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>使用CSS美化文件上传表单</title>
		<link>http://www.zhcexo.com/css-input-file-area/</link>
		<comments>http://www.zhcexo.com/css-input-file-area/#comments</comments>
		<pubDate>Mon, 16 May 2011 09:14:33 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[web2.0]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1192</guid>
		<description><![CDATA[开发webapp的朋友们应该对&#60;input type=&#8221;file&#8221; /&#62;这样的表单元素不陌生吧，虽然我从来没接触过=_=。今天看到Mr.Think同学更新了一篇博客《利用label标签和CSS美化文件上传表单》，不过demo里面好像失效了&#8230;&#8230;提到这里，我就把我知道的美化这样元素的方法分享一下吧。

DEMO在这里。

要说input[type=file]类型完全不支持CSS也不对，只是很多关于样式化的CSS方法对它无效，是出于安全的目的。不过position、z-index、opacity这些CSS属性还是支持的，所以就用这些方法来变通。

<span class="readmore"><a href="http://www.zhcexo.com/css-input-file-area/" title="使用CSS美化文件上传表单">阅读全文——共1308字</a></span>]]></description>
			<content:encoded><![CDATA[<p>开发webapp的朋友们应该对<code>&lt;input type=&rdquo;file&rdquo; /&gt;</code>这样的表单元素不陌生吧，虽然我从来没接触过=_=。今天看到Mr.Think同学更新了一篇博客《<a target="_blank" href="http://mrthink.net/css-input-label-file/" title="利用label标签和CSS美化文件上传表单">利用label标签和CSS美化文件上传表单</a>》，不过demo里面好像失效了&hellip;&hellip;提到这里，我就把我知道的美化这样元素的方法分享一下吧。</p>
<p><a target="_blank" href="http://www.zhcexo.com/demo-html/20110516/input_file.html" title="用CSS的方法美化上传表单 - demo by zhcexo">DEMO在这里</a>。</p>
<p>要说<code>input[type=file]</code>类型完全不支持CSS也不对，只是很多关于样式化的CSS方法对它无效，是出于安全的目的。不过<code>position</code>、<code>z-index</code>、<code>opacity</code>这些CSS属性还是支持的，所以就用这些方法来变通。</p>
<p><span id="more-1192"></span></p>
<h3>核心思想</h3>
<p>其实我是把样式都加在了<code>input[type=file]</code>的父元素上了，当然你也可以使用它的兄弟元素等，根据项目的实际需要来定吧。然后用css把<code>input[type=file]</code>的透明度设置0。这样一来，虽然用户的眼睛不可见，但它还是存在于网页的那个地方，鼠标方面的交互也是可以做的。至于鼠标移入和移出时候的效果，就对其父元素指定hover状态和非hover状态时的样式。</p>
<p>另外，在上传按钮的交互上，IE和非IE系的不一样。IE里面，点击按钮前面的像文本框一样的部分是没用的，得点击&ldquo;浏览&rdquo;的按钮才会有窗口弹出。而在非IE里，点击框或者按钮都会有窗口弹出，所以为了解决在IE下的问题，使用position定位的时候，把按钮部分对准有样式的地方。图解一下（透明度非0时的状态）：</p>
<p style="text-align: center"><img src="http://www.zhcexo.com/demo-html/20110516/inputfile.png" alt="使用CSS美化文件上传表单"  title="使用CSS美化文件上传表单" /></p>
<p>关键代码我也给一下：</p>
<pre>
/*设置input[type=file]父元素的样式*/
#input_file .right{
	float:left;
	width:100px;
	height:29px;
	margin-top:-6px;
	margin-left:10px;
	padding-top:4px;
	overflow:hidden;
	background:url(btn_bg.png) center top no-repeat;
	/*为子元素定位着想，使用relative*/
	position:relative;
}
/*鼠标在hover状态时样式的切换*/
#input_file .right:hover{
	background:url(btn_bg.png) center bottom no-repeat;
}
/*设置透明度，通用方法和IE专属方法*/
#input_file .right input{
	position:absolute;
	/*把浏览按钮置于交互中心，解决IE的问题*/
	right:0;
	opacity:0;
	filter:alpha(opacity=0);
}
</pre>
<h3>已知问题</h3>
<ul style="margin:1em 0 1em 2em;">
<li style="list-style:disc outside none">IE6不支持非<code>&lt;a&gt;</code>标签的hover状态，所以鼠标悬浮的交互在IE6下无法实现，完美主义者请使用JS。</li>
<li style="list-style:disc outside none">看上图就知道，IE上鼠标点到&ldquo;浏览&rdquo;按钮才会有效，所以左边的框部分点了不会有选择文件的窗口弹出，与鼠标悬浮的交互效果有些不协调，并且鼠标指针的样式无法定义。</li>
<li style="list-style:disc outside none">更好的交互效果？更便利的定制外观？哥们，用flash吧，CSS做不到，至少我做不到&hellip;&hellip;</li>
</ul>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/css3-cool-tip/" title="用CSS3创建漂亮的链接提示">用CSS3创建漂亮的链接提示</a></li><li><a href="http://www.zhcexo.com/css-round-corner/" title="我能想到的圆角背景的实现方法">我能想到的圆角背景的实现方法</a></li><li><a href="http://www.zhcexo.com/simple-slide-menu-with-jquery/" title="用jQuery创建简单的滑动导航菜单">用jQuery创建简单的滑动导航菜单</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">GM脚本：Simple Google Reader Style V1.31</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/bottons-with-jquery-css3/" title="用jQuery或者CSS3创建简单的动态按钮">用jQuery或者CSS3创建简单的动态按钮</a></li><li><a href="http://www.zhcexo.com/tips-for-jquery-animation/" title="jQuery中处理动画序列引起的问题">jQuery中处理动画序列引起的问题</a></li><li><a href="http://www.zhcexo.com/introduction-of-box-shadow/" title="box-shadow用法简介">box-shadow用法简介</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/javascript-object-properties/" title="使用JavaScript对象属性防止变量被影响">使用JavaScript对象属性防止变量被影响</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/css-input-file-area/">查看原文</a> |
<a href="http://www.zhcexo.com/css-input-file-area/#comments">11 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/web20/" rel="tag">web2.0</a>, <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a>, <a href="http://www.zhcexo.com/tag/tutorial/" rel="tag">教程</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/css-input-file-area/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>用jQuery或者CSS3创建简单的动态按钮</title>
		<link>http://www.zhcexo.com/bottons-with-jquery-css3/</link>
		<comments>http://www.zhcexo.com/bottons-with-jquery-css3/#comments</comments>
		<pubDate>Sat, 14 May 2011 15:01:39 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1187</guid>
		<description><![CDATA[提到Web上的按钮，大家会想到什么呢，古板的默认按钮，还是样式化的链接来代替的按钮？无论是什么，一个漂亮的按钮在页面上肯定会引起访问者的注意，并且因为是按钮（或按钮型的链接），所以也会有点一点的冲动。下面我就介绍一下如何用jQuery或才CSS3来制作简单的动态按钮。

先看一下例子吧：DEMO。（请使用Firefox4.0+、Chrome、Safari、Opera10.5+观看）



<span class="readmore"><a href="http://www.zhcexo.com/bottons-with-jquery-css3/" title="用jQuery或者CSS3创建简单的动态按钮">阅读全文——共1719字</a></span>]]></description>
			<content:encoded><![CDATA[<p>提到Web上的按钮，大家会想到什么呢，古板的默认按钮，还是样式化的链接来代替的按钮？无论是什么，一个漂亮的按钮在页面上肯定会引起访问者的注意，并且因为是按钮（或按钮型的链接），所以也会有点一点的冲动。下面我就介绍一下如何用jQuery或才CSS3来制作简单的动态按钮。</p>
<p>先看一下例子吧：<a target="_blank" href="http://www.zhcexo.com/demo-html/20110514/buttons.html" title="Buttons with jQuery or CSS3">DEMO</a>。（请使用Firefox4.0+、Chrome、Safari、Opera10.5+观看）</p>
<p><span id="more-1187"></span></p>
<h3>使用jQuery的方法</h3>
<p>DEMO中我使用的是<code>&lt;a&gt;</code>标签，然后用的图片（来自Tutorial9）来制造的按钮。那么渐变的动画效果是怎么样来的呢？我解释一下，一个<code>&lt;a&gt;</code>标签写的链接，在DOM中的结构应该是这样的</p>
<pre>
&lt;a href=&rdquo;#&rdquo;&gt;HOME&lt;/a&gt;</pre>
<p>如果我们分别为<code>:link</code>和<code>:hover</code>指定不同的背景，那么鼠标悬浮的时候肯定按钮是动不起来的。这时，我们变通一下。用jQuery在&lt;a&gt;里面生成一个span标签作为子元素，为它指定hover状态的背景图片。因为是按钮切换时是渐变状态，所以我们就把span的透明度设置为0，鼠标悬浮上去的时候把span的透明度设置为1，这样就能把a标签本来的背景图片挡住，就实现了DEMO中的效果。变换之后的DOM结构是这样的：</p>
<pre>
&lt;a href=&rdquo;#&rdquo;&gt;
&nbsp;&nbsp;&nbsp; HOME&nbsp;
&nbsp;&nbsp;&nbsp; &lt;span class=&rdquo;hover&rdquo;&gt;&lt;/span&gt;
&lt;/a&gt;</pre>
<p>然后添加jQuery效果，代码如下，注释都包含在里面了：</p>
<pre>
$(function(){
	$('a.jsbutton').each(function(){	//遍历所有的需要添加效果的按钮
		//生成span标签，并把它插入到a标签的里，并将生成的span元素的透明度设置为0
		$('&lt;span class=&quot;hover&quot;&gt;&lt;/span&gt;').appendTo(this).css('opacity','0');
		//用span这个变量来保存这个生成的span元素
		var span = $(this).find('span.hover');
		//为当前的a标签绑定hover事件
		$(this).hover(function(){
			//鼠标悬浮时，将生成的span元素的透明度设置为1，用来显示悬浮状态
			span.stop().fadeTo('slow',1);
		},function(){
			//鼠标离开时，将生成的span元素的透明度设置为0，用来显示a链接本来的背景
			span.stop().fadeTo('slow',0);
		});
	});
});
</pre>
<p>这里再次强调一下stop()方法的作用：</p>
<blockquote>
<p><code>stop( [clearQueue] [, gotoEnd] )</code></p>
<p>两个参数均为可选，它们都是布尔值</p>
<p>clearQueue表示是否清空未执行完的动画序列</p>
<p>gotoEnd表示是否将正执行的动画跳转到末状态</p>
<p><strong>如果两个参数均不设置，则它会立即停止当前元素的动画。如果动画序列中还有其他的动画，则会以当前状态开始执行接下来的动画</strong></p>
</blockquote>
<p>文中用到的方法，就是粗体标出的部分。</p>
<h3>CSS3 Transition方法</h3>
<p>这是纯的CSS3方法，所以代码是不涉及JS的，虽然比较简单，但效果不如JS，所以如果对视觉性的要求不是很高，用这个也未偿不可。另外，浏览器兼容能力有限，最后效果不能保证。核心代码如下：</p>
<pre>
.css3 a{
	/*css3 trasition变换，这里指定变换背景*/
	-moz-transition:background 0.4s linear;
	-webkit-transition:background 0.4s linear;
	-o-transition:background 0.4s linear;
}
.css3_a a:hover{
	opacity:0.75;
	/*css3 trasition变换，这里指定变换透明度*/
	-moz-transition:opacity 0.6s linear;
	-webkit-transition:opacity 0.6s linear;
	-o-transition:opacity 0.6s linear;
}</pre>
<p>具体的CSS3的trasition方法，我就不介绍了，有兴趣的朋友们去看看<a target="_blank" href="http://www.w3.org/TR/css3-transitions/" title="CSS Transitions Module Level 3">W3C的那页</a>（目前我没兴趣，收着暂时没看=_=）。</p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">GM脚本：Simple Google Reader Style V1.31</a></li><li><a href="http://www.zhcexo.com/tips-for-jquery-animation/" title="jQuery中处理动画序列引起的问题">jQuery中处理动画序列引起的问题</a></li><li><a href="http://www.zhcexo.com/this-in-javascript/" title="JavaScript中的this到底是什么">JavaScript中的this到底是什么</a></li><li><a href="http://www.zhcexo.com/simple-slide-menu-with-jquery/" title="用jQuery创建简单的滑动导航菜单">用jQuery创建简单的滑动导航菜单</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/css-input-file-area/" title="使用CSS美化文件上传表单">使用CSS美化文件上传表单</a></li><li><a href="http://www.zhcexo.com/introduction-of-box-shadow/" title="box-shadow用法简介">box-shadow用法简介</a></li><li><a href="http://www.zhcexo.com/css3-cool-tip/" title="用CSS3创建漂亮的链接提示">用CSS3创建漂亮的链接提示</a></li><li><a href="http://www.zhcexo.com/how-to-put-div-over-frame/" title="如何在一堆框架（Frame）上弹出div层">如何在一堆框架（Frame）上弹出div层</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/bottons-with-jquery-css3/">查看原文</a> |
<a href="http://www.zhcexo.com/bottons-with-jquery-css3/#comments">4 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/javascript/" rel="tag">javascript</a>, <a href="http://www.zhcexo.com/tag/jquery/" rel="tag">jQuery</a>, <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/bottons-with-jquery-css3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>jQuery中处理动画序列引起的问题</title>
		<link>http://www.zhcexo.com/tips-for-jquery-animation/</link>
		<comments>http://www.zhcexo.com/tips-for-jquery-animation/#comments</comments>
		<pubDate>Thu, 12 May 2011 13:31:16 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery]]></category>
		<category><![CDATA[学习]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1178</guid>
		<description><![CDATA[jQuery中的动画效果应该是相当出色的，让我们能够以非常简单的代码来实现很多复杂的效果，比如show()、hide()、slideDown()、slideUp()等。另外，如果给同一个元素指定不同的动画效果，那么这些动画效果是按照序列来执行的，比如如下这段代码：





<span class="readmore"><a href="http://www.zhcexo.com/tips-for-jquery-animation/" title="jQuery中处理动画序列引起的问题">阅读全文——共2712字</a></span>]]></description>
			<content:encoded><![CDATA[<p>jQuery中的动画效果应该是相当出色的，让我们能够以非常简单的代码来实现很多复杂的效果，比如<code>show()</code>、<code>hide()</code>、<code>slideDown()</code>、<code>slideUp()</code>等。另外，如果给同一个元素指定不同的动画效果，那么这些动画效果是按照序列来执行的，比如如下这段代码：</p>
<p><span id="more-1178"></span></p>
<pre>
$(document).ready(function(){
&nbsp;&nbsp;&nbsp; $('#panel').css('opacity','0.5');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $('#panel').click(function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(this).animate({
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; left:'500px',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; height:'200px',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; opacity:'1'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },3000).animate({
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; top:'200px',
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; width:'200px'
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },3000).css('border','5px solid blue');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });
&nbsp;&nbsp;&nbsp; });
});</pre>
<p>代码先将<code>#panel</code>这个元素的透明度设置为0.5，之后元素会先向右移动500px、高度变为200px、透明度变为1，再然后元素会在第一段动画完成后，向下移动200px，并且高度变为200px。这两段动画其实就组成了一个动画序列，先执行第一段，然后执行第二段。</p>
<p>不过有时候，这种有动画序列却会引起一些问题，比如我想用 jQuery 中的<code>slideDown()</code>和<code>slideUp()</code>来制作有滑动效果的下拉菜单：鼠标悬浮于导航的时候菜单滑下，鼠标离开的时候菜单滑上，可是如果不作任何处理，把鼠标快速地在几个导航上快速滑入滑出，菜单节奏就会乱掉，上上下下像在跳舞一下：</p>
<p><a target="_blank" href="http://www.zhcexo.com/demo-html/20110512/slide1.html" title="不经处理的滑动菜单">DEMO 1</a></p>
<h3>解决方法一：使用 jQuery 带的 stop() 方法</h3>
<p>jQuery 自带的<code>stop()</code>方法的描述是这样的</p>
<blockquote>
<p><code>stop( [clearQueue] [, gotoEnd] )</code></p>
<p>两个参数均为可选，它们都是布尔值</p>
<p><code>clearQueue</code>表示是否清空未执行完的动画序列</p>
<p><code>gotoEnd</code>表示是否将正执行的动画跳转到末状态</p>
<p>如果两个参数均不设置，则它会立即停止当前元素的动画。如果动画序列中还有其他的动画，则会以当前状态开始执行接下来的动画</p>
</blockquote>
<p>那么想想这个菜单的实际情况：鼠标移入的时候，实际它就会在动画序列里添加一个 slideDown 动画，然后在鼠标移出的时候再添加一个 slideUp 动画。因为动画是按顺序执行的，所以第二个动画非得等到第一个动画执行完毕了以后再执行。如果鼠标移入移出的速度过快，动画就会慢慢按序列里的顺序执行直到完毕，所以就会出现 DEMO1 中的效果。那么用<code>stop()</code>的方法来清空序列不就行了？是的，所以把<code>stop()</code>方法的第一个参数设置为<code>true</code>。</p>
<p>那第二个值呢？我们想想，我们的目标是把菜单完全展示于用户的面前，并且 slideUp 动画是需要基于之前 slideDown 的状态来完成的，你 slideDown 把菜单的整个高度都显示出来了，slideUp 才好把菜单隐藏掉。另外还需要注意的一点是，slideUp 和 slideDown 动画未执行完的时候，会把过程中的临时变量记录到 DOM 中，也就是说，如果你指定第二个参数为 false，那么比如菜单高度有 100px，但因为鼠标移出提前结束了，只展开了 10px，那么菜单的高度就是 10px 并且被记录在 DOM 中了。再次使用 slideDown 的话，它就会以 10px 为基础展开，显然菜单并不会完整地展示于用户有面前。所以把第二个参数也设置为 true，让它让元素动画直接跳转到末状态。</p>
<p><a target="_blank" href="http://www.zhcexo.com/demo-html/20110512/slide2.html" title="用 stop() 方法处理的滑动菜单">DEMO 2</a></p>
<p>大家可以把鼠标快速地在导航上滑入滑出试试看，虽然动画没有什么问题，但是能明显看到，如果在菜单展开的过程中移出了鼠标，菜单会立刻全部展开到末状态，而不是慢慢展开。关键代码如下</p>
<pre>
$(document).ready(function(){
&nbsp;&nbsp;&nbsp; $('#menu &gt; li').hover(function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //这里的stop(true,true)指的是让动画队列清空，并且让已经在进行动画的元素到达动画的末状态，方便在第二次动画中使用
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(this).find('ul').eq(0).stop(true,true).slideDown('slow');
&nbsp;&nbsp;&nbsp; },function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(this).find('ul').eq(0).stop(true,true).slideUp('slow');
&nbsp;&nbsp;&nbsp; });
});</pre>
<h3>解决方法二：使用 setTimeout 来判断鼠标悬停的时间</h3>
<p>这种方法是 <a target="_blank" href="http://www.neoease.com/jquery-slideup-and-slidedown/" title="jQuery 的 slideUp 和 slideDown 动画">mg12 提出来的</a>，感觉比第一种方法更好，菜单滑动的时候不突兀。关键代码如下：</p>
<pre>
$(document).ready(function(){
&nbsp;&nbsp;&nbsp; //设定两个数组，分别对应在不同元素上鼠标滑入和滑出要触发的函数
&nbsp;&nbsp;&nbsp; //鼠标滑入的数组
&nbsp;&nbsp;&nbsp; var mouseover_tid = [];
&nbsp;&nbsp;&nbsp; //鼠标滑出的数组
&nbsp;&nbsp;&nbsp; var mouseout_tid = [];
&nbsp;&nbsp;&nbsp; //使用each()方法，index为此方法自动传入的参数，记录匹配元素在元素集合中的所处位置
&nbsp;&nbsp;&nbsp; $('#menu &gt; li').each(function(index){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(this).hover(function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //this为当前的li元素，这里赋给self变量，方便在setTimeout方法中引用
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var self = this;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //先清除鼠标滑出时的slideUp方法
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clearTimeout(mouseout_tid[index]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //鼠标滑入时，把当前的鼠标滑放的方法记录到数组中，并判断鼠标停留的时间是否符合条件
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mouseover_tid[index] = setTimeout(function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //如果这里不用self而用this，this指向的就不是当前的li这个DOM元素
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(self).find('ul').eq(0).slideDown('slow');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },150);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //鼠标滑出时的说明与滑入时的说明相似，此处省略
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; var self = this;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; clearTimeout(mouseover_tid[index]);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mouseout_tid[index] = setTimeout(function(){
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; $(self).find('ul').eq(0).slideUp('slow');
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; },150);
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; });
&nbsp;&nbsp;&nbsp; });
});</pre>
<p align="left"><a target="_blank" href="http://www.zhcexo.com/demo-html/20110512/slide3.html" title="使用 setTimeout() 方法处理的滑动菜单">DEMO 3</a></p>
<p>代码的关键位置我已经注释清楚了，你也可以去 mg12 的那篇文章里看看。与第一种方法的区别在于，由于没使用<code>stop()</code>方法，所以你不会看到很突兀的鼠标一移开，菜单马上全展开的时候的效果。</p>
<h3>结语</h3>
<p>这里只是用 slideDown 和 slideUp 举的例子，方法也可以适用于其他的情况，比如 fadeIn 和 fadeOut、animate 等。目前只介绍这两种方法，以后想到了再补充，另外，如果大家有更好的意见，欢迎反馈。</p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/bottons-with-jquery-css3/" title="用jQuery或者CSS3创建简单的动态按钮">用jQuery或者CSS3创建简单的动态按钮</a></li><li><a href="http://www.zhcexo.com/simple-slide-menu-with-jquery/" title="用jQuery创建简单的滑动导航菜单">用jQuery创建简单的滑动导航菜单</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">GM脚本：Simple Google Reader Style V1.31</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/css-input-file-area/" title="使用CSS美化文件上传表单">使用CSS美化文件上传表单</a></li><li><a href="http://www.zhcexo.com/introduction-of-box-shadow/" title="box-shadow用法简介">box-shadow用法简介</a></li><li><a href="http://www.zhcexo.com/css3-cool-tip/" title="用CSS3创建漂亮的链接提示">用CSS3创建漂亮的链接提示</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/javascript-object-properties/" title="使用JavaScript对象属性防止变量被影响">使用JavaScript对象属性防止变量被影响</a></li><li><a href="http://www.zhcexo.com/youku-light-on/" title="这回整优酷了，脚本脚本">这回整优酷了，脚本脚本</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/tips-for-jquery-animation/">查看原文</a> |
<a href="http://www.zhcexo.com/tips-for-jquery-animation/#comments">2 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/jquery/" rel="tag">jQuery</a>, <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/tips-for-jquery-animation/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>box-shadow用法简介</title>
		<link>http://www.zhcexo.com/introduction-of-box-shadow/</link>
		<comments>http://www.zhcexo.com/introduction-of-box-shadow/#comments</comments>
		<pubDate>Tue, 10 May 2011 10:42:39 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1175</guid>
		<description><![CDATA[很多人写文章介绍什么东西的时候，都会使用&#8220;详述&#8221;两个字吧，但我这里写的是简介。当然这个简介也不会非常简单，只比&#8220;详述&#8221;简洁一些，因为可能在平时使用的时候，我们用不着关于box-shadow的方方面面，所以我只把我觉得有用的部分介绍一下。

之前下载了一篇《CSS3.0参考手册》，里面介绍box-shadow的时候很简单，简单得都不知道它想表达个什么意思，它是这样表述的：



<span class="readmore"><a href="http://www.zhcexo.com/introduction-of-box-shadow/" title="box-shadow用法简介">阅读全文——共1349字</a></span>]]></description>
			<content:encoded><![CDATA[<p>很多人写文章介绍什么东西的时候，都会使用&ldquo;详述&rdquo;两个字吧，但我这里写的是简介。当然这个简介也不会非常简单，只比&ldquo;详述&rdquo;简洁一些，因为可能在平时使用的时候，我们用不着关于<code>box-shadow</code>的方方面面，所以我只把我觉得有用的部分介绍一下。</p>
<p>之前下载了一篇《CSS3.0参考手册》，里面介绍<code>box-shadow</code>的时候很简单，简单得都不知道它想表达个什么意思，它是这样表述的：</p>
<p><span id="more-1175"></span></p>
<blockquote>
<p>语法：</p>
<p><code><strong>box-shadow:</strong><em>&lt;length&gt;</em> <em>&lt;length&gt;</em> <em>&lt;length&gt;</em> <em>&lt;length&gt;</em> || <em>&lt;color&gt;</em></code></p>
<p>取值：&nbsp;</p>
<dt><code><em>&lt;length&gt;</em> <em>&lt;length&gt;</em> <em>&lt;length&gt;?</em> <em>&lt;length&gt;</em>? || <em>&lt;color&gt;</em></code>： 阴影水平偏移值（可取正负值）；阴影垂直偏移值（可取正负值）；阴影模糊值；阴影颜色 </dt>
</blockquote>
<p>现在我将它正确地想表达的意思再表达一下：</p>
<blockquote>
<p><code><strong>box-shadow:</strong></code> x 轴偏移 y 轴偏移 [模糊半径] [阴影颜色] [inset]</p>
</blockquote>
<p>&middot; 其中 x 轴偏移和 y 轴偏移是必须的两个值（接受正值或负值）</p>
<p>&middot; 模糊半径为可选（如果没有这个值，默认为0，不支持负值）</p>
<p>&middot; 阴影颜色为可选（如果没有这个值，基于 Gecko 的浏览器会使用<code>color</code>属性的值，而基于 webkit 的浏览器会默认为<code>transparent</code>）</p>
<p>&middot; <code>inset</code>选项为可选（如果没有这个值，阴影就为外阴影，显示在 box 外部，空间上在 box 后面；如果带有这个值，阴影即为内阴影，空间上显示在 box 前面）</p>
<p>&middot; <code>box-shadow</code>目前要使用的话，基于 Gecko 的浏览器写成<code>-moz-box-shadow</code>，基于 webkit 的浏览器写成<code>-webkit-box-shadow</code>，opera 写成<code>-o-box-shadow</code>，什么都不写，IE9可以识别。</p>
<p>另外需要说明的一点是，<code>box-shadow</code>后面的参数添加阴影效果，你可以添加不只一组参数，每组参数之间使用逗号（,）来分隔，在同一个元素上使用多个阴影，比如像这样：</p>
<blockquote>
<p><code>box-shadow: 0 1px 2px rbga(0,0,0,0.4), 0 1px 0 rgba(255,255,255,0.5) inset, &hellip;&hellip;</code></p>
</blockquote>
<p>我在<a target="_blank" href="http://www.zhcexo.com/css3-cool-tip/" title="用CSS3创建漂亮的链接提示">上一篇文章</a>里面使用了这种方法，大家可以看一下。需要说明的是，新添加的阴影，在空间中的位置会自动向后移一层，具体是什么效果我在下面写一下代码（仅支持box-shadow的浏览器可见）：</p>
<div style="text-align: center; line-height: 100px; margin: 10px auto; width: 300px; height: 100px; font-size: 16px; border:1px solid black; -moz-box-shadow:5px 5px 0 red, 10px 10px 0 blue; -webkit-box-shadow:5px 5px 0 red, 10px 10px 0 blue; -o-box-shadow:5px 5px 0 red, 10px 10px 0 blue; box-shadow:5px 5px 0 red, 10px 10px 0 blue;">box-shadow</div>
<p>代码是<code>box-shadow:5px 5px 0 red, 10px 10px 0 blue</code>，可以看到，虽然蓝色的阴影是后来添加的，但空间上它却位于红色的阴影之下。再需要强调的一点是，<code>box-shadow</code>指定的阴影的形状会随着<code>border-radius</code>指定的圆角而变化。也就是说，如果你没有为 box 指定圆角，那么阴影也是方形的；如果你为 box 指定了圆角，那么阴影也是圆角的阴影。一个极端的例子如下：</p>
<div style="text-align: center; line-height: 100px; margin: 10px auto; width: 100px; height: 100px; font-size: 16px; border:1px solid black; border-radius:50px; -moz-box-shadow:5px 5px 5px black; -webkit-box-shadow:5px 5px 5px black; -o-box-shadow:5px 5px 5px black; box-shadow:5px 5px 5px black;">box-shadow</div>
<p>至于 IE6/7/8 可以使用<code>filter</code>来实现，<a target="_blank" href="http://sofish.de/1426" title="跨浏览器实现投影(box-shadow)那点事">sofish 的这篇文章</a>里写得很清楚了，可是我不怎么赞同这种写法。我认为<code>box-shadow</code>就是一种锦上添花的效果，如果浏览器方便支持，就加上，如果浏览器不支持，那也真没必要这么做。不知道这算不算是一种 Progressive Enhancement&hellip;&hellip;</p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">GM脚本：Simple Google Reader Style V1.31</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/css-input-file-area/" title="使用CSS美化文件上传表单">使用CSS美化文件上传表单</a></li><li><a href="http://www.zhcexo.com/bottons-with-jquery-css3/" title="用jQuery或者CSS3创建简单的动态按钮">用jQuery或者CSS3创建简单的动态按钮</a></li><li><a href="http://www.zhcexo.com/tips-for-jquery-animation/" title="jQuery中处理动画序列引起的问题">jQuery中处理动画序列引起的问题</a></li><li><a href="http://www.zhcexo.com/css3-cool-tip/" title="用CSS3创建漂亮的链接提示">用CSS3创建漂亮的链接提示</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/javascript-object-properties/" title="使用JavaScript对象属性防止变量被影响">使用JavaScript对象属性防止变量被影响</a></li><li><a href="http://www.zhcexo.com/youku-light-on/" title="这回整优酷了，脚本脚本">这回整优酷了，脚本脚本</a></li><li><a href="http://www.zhcexo.com/two-more-grease-monkey-scripts/" title="再放出两个油猴脚本好了">再放出两个油猴脚本好了</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/introduction-of-box-shadow/">查看原文</a> |
<a href="http://www.zhcexo.com/introduction-of-box-shadow/#comments">8 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a>, <a href="http://www.zhcexo.com/tag/browser/" rel="tag">浏览器</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/introduction-of-box-shadow/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>用CSS3创建漂亮的链接提示</title>
		<link>http://www.zhcexo.com/css3-cool-tip/</link>
		<comments>http://www.zhcexo.com/css3-cool-tip/#comments</comments>
		<pubDate>Fri, 06 May 2011 16:35:55 +0000</pubDate>
		<dc:creator>ZH CEXO</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[学习]]></category>
		<category><![CDATA[教程]]></category>

		<guid isPermaLink="false">http://www.zhcexo.com/?p=1171</guid>
		<description><![CDATA[最近我刚看了一篇国外朋友写的用CSS3创建这种好看的链接提示，然后自己亲自动手试了一下，就把试验过程以及相关的问题都写写，一来算是给自己练手，另外也希望给看着英语就头疼的朋友一点小小的帮助。

像这种链接提示并不难做，本质上来讲就是灵活运用position:relative和position:absolute罢了，我的博客里之前也提到过类似的文章，有兴趣的朋友不妨联合起来看一下，有不少相似性的。大家先看DEMO吧：



<span class="readmore"><a href="http://www.zhcexo.com/css3-cool-tip/" title="用CSS3创建漂亮的链接提示">阅读全文——共3004字</a></span>]]></description>
			<content:encoded><![CDATA[<p style="text-align:center"><img src="http://lh4.googleusercontent.com/_ruj4XAh2Njs/TcQPxpZ1p-I/AAAAAAAADIw/jhTYjTFjq8M/s800/cooltip.png" alt="用CSS3创建漂亮的链接提示"  title="用CSS3创建漂亮的链接提示" /></p>
<p>最近我刚看了一篇<a href="http://www.red-team-design.com/css3-tooltips" title="CSS3 tooltips">国外朋友写的用CSS3创建这种好看的链接提示</a>，然后自己亲自动手试了一下，就把试验过程以及相关的问题都写写，一来算是给自己练手，另外也希望给看着英语就头疼的朋友一点小小的帮助。</p>
<p>像这种链接提示并不难做，本质上来讲就是灵活运用<code>position:relative</code>和<code>position:absolute</code>罢了，我的博客里之前也提到过<a href="http://www.zhcexo.com/colortip-fixed-for-ie6/" title="修正一下jQuery插件Colortip在IE6下面的显示问题">类似的文章</a>，有兴趣的朋友不妨联合起来看一下，有不少相似性的。大家先看DEMO吧：</p>
<p><span id="more-1171"></span></p>
<p><a target="_blank" href="http://www.zhcexo.com/demo-html/20110507/cooltip.html">点击这里查看DEMO</a></p>
<h3>实现的方法</h3>
<p>鼠标的悬停显示用的是css中的<code>hover</code>伪类方法，我这里用了<code>&lt;a&gt;</code>标签，大家也可以使用其他标签。也许你会说，IE6 不支持非<code>&lt;a&gt;</code>标签的<code>hover</code>方法，这个后面说。总体思想就是，在<code>&lt;a&gt;</code>标签中把提示里面用的内容用<code>&lt;span&gt;</code>标签包裹起来，然后用 css 控制提示内容在鼠标悬停于<code>&lt;a&gt;</code>标签的时候再显示。至于让内容正好出现在相应的<code>&lt;a&gt;</code>标签的上方，使用的是position定位。让<code>&lt;a&gt;</code>标签定位为<code>position:relative</code>，再把<code>&lt;span&gt;</code>定位为<code>position:absolute</code>，这样对于每个<code>&lt;a&gt;</code>标签对应的<code>&lt;span&gt;</code>标签，定位总是相对于它的父<code>&lt;a&gt;</code>标签的。大体的HTML如下：</p>
<pre>
&lt;p&gt;Lorem ipsum dolor sit amet, consectetur &lt;a href=&quot;#&quot; class=&quot;cooltip&quot;&gt;&lt;span&gt;&lt;strong&gt;Some Title&lt;/strong&gt;There are tip messages or sth other alike.&lt;/span&gt;adipisicing&lt;/a&gt; elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.&lt;/p&gt;
</pre>
<p>至于我的代码里面出现了<code>&lt;strong&gt;</code>标签，是为了在 tip 上显示一个标题用的，这些你都可以自由发挥。大体的CSS代码如下：</p>
<pre>
.cooltip{
	position:relative;
	font-weight:bold;
	display:inline-block;	//IE下触发 hasLayout
	outline:none;
}
.cooltip span{
	visibility:hidden;
	position:absolute;
	display:block;
	width:190px;
	height:56px;
	padding:6px 10px;
	bottom:30px;
	left:50%;	//先定位 left 为参考元素宽度的一半，相当于左边沿位于正中央
	margin-left:-106px;	//再用负的 margin-left 值向左拉自身宽度的一半，用以保持自身中央正对链接
	font-weight:normal;
	line-height:1.5;
	color:#555;
	border:1px solid #d4d4d4;
	opacity:.9;	//加上透明度，提升质感
	background-color:#f0f0f0;
	background-image:-moz-linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,0));	//不同透明度的白色渐变，突出质感
	background-image:-webkit-linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,0));
	background-image:-o-linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,0));
	background-image:linear-gradient(rgba(255,255,255,.6),rgba(255,255,255,0));
	-moz-border-radius:6px;
	border-radius:6px;
	-moz-box-shadow:0 1px 2px rgba(0,0,0,.2), 0 1px 0 rgba(255,255,255,.5) inset;	//内外两种不同的阴影，用于高亮和投影
	-webkit-box-shadow:0 1px 2px rgba(0,0,0,.2), 0 1px 0 rgba(255,255,255,.5) inset;
	box-shadow:0 1px 2px rgba(0,0,0,.2), 0 1px 0 rgba(255,255,255,.5) inset;
}
.cooltip:hover span{
	visibility:visible;	//鼠标悬停时显示 span
}
.cooltip span strong{
	display:block;	//用来折行
	color:#333;
}
.cooltip span:before, .cooltip span:after{	//用伪元素，避免添加不必要的标签
	content:&quot;&quot;;
	position:absolute;
	z-index:1000;
	left:50%;
	bottom:-7px;	//让 :after 位于 :before 上面 1px，形成有背景的三角形
	margin-left:-8px;
	border-top:8px solid #f0f0f0;	//用于制作不使用图片的三角形
	border-left:8px solid transparent;	//用于制作不使用图片的三角形
	border-right:8px solid transparent;	//用于制作不使用图片的三角形
	border-bottom:0;	//用于制作不使用图片的三角形
}
.cooltip span:before{
	border-top-color:#d4d4d4;
	bottom:-8px;	//让 :after 位于 :before 上面 1px，形成视觉上的边框效果
}
</pre>
<p>&nbsp;注释里我已经解释得比较清楚了，如果代码对于你来说相对很难懂的话，那么你需要多学习一些CSS相关的知识。原作者的文章链接我已经在文章的开头指出来了，大家可以访问一下。他的代码思想我用了，但没有生搬硬套，并且因为它的渐变是用带有透明度的黑色叠加的，所以效果上颜色有些灰暗，不鲜亮。我使用的是带有透明度的白色进行叠加，因此我做出来的效果跟他不一样。</p>
<h3>总结</h3>
<p>之前提到了IE6不支持非<code>&lt;a&gt;</code>标签 hover 的方法，说实在的，这里写不写<code>&lt;a&gt;</code>标签没什么意义，因为总体上 IE6/7 不支持<code>:after</code>和<code>:before</code>这样的伪元素，IE6/7/8 也不支持 CSS3 的渐变、阴影，所以你写了<code>&lt;a&gt;</code>标签，IE6 也不会显示正常；你用了别的标签，高级浏览器一样支持。</p>
<p>IE9 不支持 CSS 的线性渐变，尽管 IE6/7/8/9 可以使用 filter 来实现渐变，但是渐变的颜色也不能指定为 rbga，没有透明度，叠加上去也很烂。另外，写个渐变、圆角和阴影都要为不同的浏览器加一堆前缀，写出的代码简直是一坨一坨的，难道你还想让 IE 的一坨坨代码过来湊热闹？</p>
<p>用 CSS 实现三角形的效果，我在 Colortip 文章里面已经提到，不清楚的朋友可以回到文章开头找到我写的链接，点进去看看。如果不用效果这么高级的 tip，用 jQuery 来跨浏览器实现 Colortip 的提示效果也是很不错的选择。</p>
<h3  class="related_post_title">相关阅读</h3><ul class="related_post"><li><a href="http://www.zhcexo.com/css-input-file-area/" title="使用CSS美化文件上传表单">使用CSS美化文件上传表单</a></li><li><a href="http://www.zhcexo.com/css-round-corner/" title="我能想到的圆角背景的实现方法">我能想到的圆角背景的实现方法</a></li><li><a href="http://www.zhcexo.com/simple-slide-menu-with-jquery/" title="用jQuery创建简单的滑动导航菜单">用jQuery创建简单的滑动导航菜单</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-31/" title="GM脚本：Simple Google Reader Style V1.31">GM脚本：Simple Google Reader Style V1.31</a></li><li><a href="http://www.zhcexo.com/simple-gr-update-to-1-3/" title="GM脚本：Simple Google Reader Style V1.3">GM脚本：Simple Google Reader Style V1.3</a></li><li><a href="http://www.zhcexo.com/bottons-with-jquery-css3/" title="用jQuery或者CSS3创建简单的动态按钮">用jQuery或者CSS3创建简单的动态按钮</a></li><li><a href="http://www.zhcexo.com/tips-for-jquery-animation/" title="jQuery中处理动画序列引起的问题">jQuery中处理动画序列引起的问题</a></li><li><a href="http://www.zhcexo.com/introduction-of-box-shadow/" title="box-shadow用法简介">box-shadow用法简介</a></li><li><a href="http://www.zhcexo.com/cnbeta-user-script/" title="とあるcnbeta的脚本">とあるcnbeta的脚本</a></li><li><a href="http://www.zhcexo.com/javascript-object-properties/" title="使用JavaScript对象属性防止变量被影响">使用JavaScript对象属性防止变量被影响</a></li></ul><hr />
<p>© ZH CEXO for <a href="http://www.zhcexo.com">ZH CEXO's BLOG</a>, 2011. |
<a href="http://www.zhcexo.com/css3-cool-tip/">查看原文</a> |
<a href="http://www.zhcexo.com/css3-cool-tip/#comments">5 条评论</a>
<br/>
标签: <a href="http://www.zhcexo.com/tag/study/" rel="tag">学习</a>, <a href="http://www.zhcexo.com/tag/tutorial/" rel="tag">教程</a><br/>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.zhcexo.com/css3-cool-tip/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

