<?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>妙味课堂</title>
	<atom:link href="http://www.miaov.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.miaov.com</link>
	<description>——带你享受极富人情味的 IT 培训体验</description>
	<lastBuildDate>Tue, 11 May 2010 01:26:37 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>图片滚动效果</title>
		<link>http://www.miaov.com/442.html</link>
		<comments>http://www.miaov.com/442.html#comments</comments>
		<pubDate>Fri, 12 Mar 2010 18:20:46 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[JavaScript+JQuery]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=442</guid>
		<description><![CDATA[这个效果在网上出现的频率很高，但还是被许多朋友问起该如何实现，所以今天做了二种常见的滚屏展示，有需要的朋友可以在这里看看： 预览效果1&#62;&#62;  —— 重复不停滚动，可更改左右滚动方向 预览效果2&#62;&#62; —— 每滚动一张图片的距离，暂停3秒后，再继续滚动 点击下载&#62;&#62;]]></description>
			<content:encoded><![CDATA[<p>这个效果在网上出现的频率很高，但还是被许多朋友问起该如何实现，所以今天做了二种常见的滚屏展示，有需要的朋友可以在这里看看：</p>
<p><img class="alignnone size-full wp-image-443" title="roll_jpg" src="http://www.miaov.com/wp-content/uploads/2010/03/roll_jpg.jpg" alt="roll_jpg" width="599" height="79" /></p>
<p><a href="http://www.miaov.com/demo/roll/1.html" target="_blank"><span style="color: #ff6600;"><strong>预览效果1&gt;&gt;</strong></span></a>  —— 重复不停滚动，可更改左右滚动方向</p>
<p><a href="http://www.miaov.com/demo/roll/2.html" target="_blank"><span style="color: #ff6600;"><strong>预览效果2&gt;&gt;</strong></span></a> —— 每滚动一张图片的距离，暂停3秒后，再继续滚动</p>
<p><a href="http://www.miaov.com/demo/roll.rar"><span style="color: #ff6600;"><strong><span style="color: #666699;">点击下载&gt;&gt;</span></strong></span></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/442.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>设置漂亮的中文字体</title>
		<link>http://www.miaov.com/439.html</link>
		<comments>http://www.miaov.com/439.html#comments</comments>
		<pubDate>Wed, 03 Mar 2010 13:01:41 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[字体设置]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=439</guid>
		<description><![CDATA[有许多设计类型的网站，设计师都喜欢将页面字体设计成这样： 妙味课堂（www.miaov.com）——带你享受极富人情味的IT培训体验 上面的例子用到了三种字体，从左到右分别是：微软雅黑、Arial 和 楷体。 其实它的设置方式很简单，代码如下： 微软雅黑：&#60;span style=&#8221;font-family: Microsoft YaHei&#8220;&#62;微软雅黑&#60;/span&#62; Arial：&#60;span style=&#8221;font-family: arial&#8220;&#62;英文一般采用 arial 字体&#60;/span&#62; 楷体：&#60;span style=&#8221;font-family: 楷体_gb2312&#8220;&#62;楷体_gb2312 普通字体&#60;/span&#62;]]></description>
			<content:encoded><![CDATA[<p>有许多设计类型的网站，设计师都喜欢将页面字体设计成这样：</p>
<p><strong style="font-family: Microsoft YaHei; font-size: 24px;">妙味课堂</strong>（<a style="font-family: arial; font-size: 22px;" href="http://www.miaov.com">www.miaov.com</a>）——<strong style="font-family: 楷体_gb2312; font-size: 18px; color: red;">带你享受极富人情味的IT培训体验</strong></p>
<p>上面的例子用到了三种字体，从左到右分别是：<strong>微软雅黑</strong>、<strong>Arial</strong> 和 <strong>楷体</strong>。</p>
<p>其实它的设置方式很简单，代码如下：</p>
<p>微软雅黑：&lt;span style=&#8221;font-family: <strong>Microsoft YaHei</strong>&#8220;&gt;微软雅黑&lt;/span&gt;</p>
<p>Arial：&lt;span style=&#8221;font-family: <strong>arial</strong>&#8220;&gt;英文一般采用 arial 字体&lt;/span&gt;</p>
<p>楷体：&lt;span style=&#8221;font-family: <strong>楷体_gb2312</strong>&#8220;&gt;楷体_gb2312 普通字体&lt;/span&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/439.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>另类的清除浮动方式：绝对定位、固定定位</title>
		<link>http://www.miaov.com/429.html</link>
		<comments>http://www.miaov.com/429.html#comments</comments>
		<pubDate>Sun, 10 Jan 2010 12:52:04 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[固定定位]]></category>
		<category><![CDATA[清除浮动]]></category>
		<category><![CDATA[绝对定位]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=429</guid>
		<description><![CDATA[网上流传的清除浮动有三种方式： 一：使用空标签清除浮动。 二：使用overflow属性。 三：使用after伪对象清楚浮动。 但是今天下午和王宁同学讨论CSS问题的时候，意外的发现了另一种清除浮动的可能： 父级是 绝对定位，或者是 固定定位。 测试代码： &#60;style&#62; #box { width: 300px; padding: 10px; border: 1px solid #ccc;  } #left { width: 100px; height: 100px; border: 1px solid #ccc; float: left; } #right { width: 180px; height: 200px; border: 1px solid #ccc; float: right; } &#60;/style&#62; &#60;div id=&#8221;box&#8221;&#62; &#60;div id=&#8221;left&#8221;&#62;左侧浮动层&#60;/div&#62; &#60;div id=&#8221;right&#8221;&#62;右侧浮动层&#60;/div&#62; &#60;/div&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>网上流传的清除浮动有三种方式：<br />
一：使用空标签清除浮动。<br />
二：使用overflow属性。<br />
三：使用after伪对象清楚浮动。</p>
<pre>但是今天下午和王宁同学讨论CSS问题的时候，意外的发现了另一种清除浮动的可能：</pre>
<pre><strong>父级是 <span style="color: #ff0000;">绝对定位</span>，或者是 <span style="color: #ff0000;">固定定位</span>。</strong></pre>
<p>测试代码：<br />
&lt;style&gt;<br />
#box { width: 300px; padding: 10px; border: 1px solid #ccc;  }<br />
#left { width: 100px; height: 100px; border: 1px solid #ccc; float: left; }<br />
#right { width: 180px; height: 200px; border: 1px solid #ccc; float: right; }<br />
&lt;/style&gt;</p>
<p>&lt;div id=&#8221;box&#8221;&gt;<br />
&lt;div id=&#8221;left&#8221;&gt;左侧浮动层&lt;/div&gt;<br />
&lt;div id=&#8221;right&#8221;&gt;右侧浮动层&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>效果：</p>
<p><img class="alignnone size-full wp-image-430" title="1" src="http://www.miaov.com/wp-content/uploads/2010/01/12.gif" alt="1" width="340" height="241" /></p>
<p>给父级 #box 加上固定定位、或是绝对定位：<br />
position: absolute; /* position: fixed; */</p>
<p>效果：</p>
<p><img class="alignnone size-full wp-image-431" title="2" src="http://www.miaov.com/wp-content/uploads/2010/01/22.gif" alt="2" width="340" height="241" /></p>
<p>最终css：</p>
<p>&lt;style&gt;<br />
#box { width: 300px; padding: 10px; border: 1px solid #ccc; <strong><span style="color: #ff0000;">position: absolute; /* position: fixed; */</span></strong> }<br />
#left { width: 100px; height: 100px; border: 1px solid #ccc; float: left; }<br />
#right { width: 180px; height: 200px; border: 1px solid #ccc; float: right; }<br />
&lt;/style&gt;</p>
<p><span style="color: #888888;">注：在 ie6、ie7、ie8、Firefox/3.5.7、Safari/4.0.4、Opera/9.50 下测试通过。</span></p>
<p>在很多时候，用 js 来调用某个层出现，无论是弹出层，亦或是鼠标移入出现层，父级都有可能是绝对定位，相比较另外三种清除浮动的优劣，这种方式近乎于无缺陷。</p>
<p><strong><span style="color: #888888;">此外，</span>absolute 和 fixed <span style="color: #888888;">这二种定位形式也可以让</span> 内嵌元素 <span style="color: #888888;">转换成</span> 块级 元素<span style="color: #888888;">，</span></strong></p>
<p><strong><span style="color: #888888;"><span style="color: #ff0000;">测试代码：</span></span></strong></p>
<p><strong><span style="color: #888888;"><span style="color: #888888;">&lt;span style=&#8221;border: 1px solid red; width: 100px; height: 200px; position: absolute;&#8221;&gt;span&lt;/span&gt;</span></span></strong></p>
<p><strong><span style="color: #888888;"><span style="color: #ff0000;">或是：</span></span></strong></p>
<p><strong><span style="color: #888888;"><span style="color: #888888;">&lt;span style=&#8221;border: 1px solid red; width: 100px; height: 200px; position: fixed;&#8221;&gt;span&lt;/span&gt;</span></span></strong></p>
<p><strong><span style="color: #888888;"><br />
</span></strong></p>
<p>感谢王宁同学，如果没有和你一起讨论，还发现不了这个秘密(^_^)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/429.html/feed</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>javascript列表展示效果</title>
		<link>http://www.miaov.com/409.html</link>
		<comments>http://www.miaov.com/409.html#comments</comments>
		<pubDate>Thu, 05 Nov 2009 03:24:18 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[JavaScript+JQuery]]></category>
		<category><![CDATA[js效果]]></category>
		<category><![CDATA[展开列表]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=409</guid>
		<description><![CDATA[要实现的效果如图所示： 当鼠标滑动时，当前&#60;li&#62;的内容展开更多信息。 要实现这个效果，关键不是JS，而是CSS，需要在&#60;li&#62;标签内，用二个 class 分别控制列表的正常的显示效果[".normal"]以及展开的显示效果[".active"]，把样式写好以后，再用JS来实现： 当鼠标移入时，所有的&#60;li&#62;标签类名为 .normal，只有当前的&#60;li&#62;标签类名为 .active &#62;&#62;效果展示 &#62;&#62;下载代码]]></description>
			<content:encoded><![CDATA[<p>要实现的效果如图所示：</p>
<p><img class="alignnone size-full wp-image-410" title="js-list" src="http://www.miaov.com/wp-content/uploads/2009/11/js-list.gif" alt="js-list" width="302" height="194" /></p>
<p>当鼠标滑动时，当前&lt;li&gt;的内容展开更多信息。</p>
<p>要实现这个效果，关键不是JS，而是CSS，需要在&lt;li&gt;标签内，用二个 class 分别控制列表的正常的显示效果[".normal"]以及展开的显示效果[".active"]，把样式写好以后，再用JS来实现：</p>
<p>当鼠标移入时，所有的&lt;li&gt;标签类名为 .normal，只有当前的&lt;li&gt;标签类名为 .active</p>
<p><a href="http://www.miaov.com/demo/list/demo.html" target="_blank">&gt;&gt;效果展示</a></p>
<p><a href="http://www.miaov.com/demo/list.rar">&gt;&gt;下载代码</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/409.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>翻页代码居中的问题</title>
		<link>http://www.miaov.com/402.html</link>
		<comments>http://www.miaov.com/402.html#comments</comments>
		<pubDate>Thu, 05 Nov 2009 02:58:05 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[居中]]></category>
		<category><![CDATA[翻页]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=402</guid>
		<description><![CDATA[今天被网友问到一个效果：让翻页代码在页面上永远居中，无论页码数量增多或是减少。 效果图如下： 我最近用 JS 写特效比较多，所以看到这个问题，我第一感觉就是用 JS 方式实现，思路是： 先给翻页代码的父级元素一个居中样式：margin: 0 auto; 然后使用 JS 去动态获取翻页代码内所有元素的宽度，再把这个宽给父级，实现居中。 用这个思路实现了以后，感觉有点不妥，应该有更简单的解决方法才对，后来跟一位在酷6上班的朋友说起这个效果， 她说用CSS实现很简单呀，不需要用JS的，她的代码如下： XHTML部分： &#60;div id=&#8221;page&#8221;&#62;  &#60;a href=&#8221;#&#8221;&#62;上一页&#60;/a&#62;  &#60;a href=&#8221;#&#8221;&#62;1&#60;/a&#62;  &#60;a href=&#8221;#&#8221;&#62;2&#60;/a&#62;    &#60;a href=&#8221;#&#8221;&#62;3&#60;/a&#62;  &#60;a href=&#8221;#&#8221;&#62;下一页&#60;/a&#62; &#60;/div&#62; CSS部分： #page{ text-align:center; height:30px; line-height:30px; } a { padding: 3px 5px; font-family: Arial; font-size: 14px; color: #333; background: #eee; border: 1px solid #ccc; margin-right: 2px; text-decoration: [...]]]></description>
			<content:encoded><![CDATA[<p>今天被网友问到一个效果：让翻页代码在页面上永远居中，无论页码数量增多或是减少。<br />
效果图如下：</p>
<p><img class="alignnone size-full wp-image-406" title="page" src="http://www.miaov.com/wp-content/uploads/2009/11/page1.gif" alt="page" width="208" height="24" /></p>
<p>我最近用 JS 写特效比较多，所以看到这个问题，我第一感觉就是用 JS 方式实现，思路是：</p>
<p>先给翻页代码的父级元素一个居中样式：margin: 0 auto;</p>
<p>然后使用 JS 去动态获取翻页代码内所有元素的宽度，再把这个宽给父级，实现居中。</p>
<p>用这个思路实现了以后，感觉有点不妥，应该有更简单的解决方法才对，后来跟一位在酷6上班的朋友说起这个效果，</p>
<p>她说用CSS实现很简单呀，不需要用JS的，她的代码如下：</p>
<p>XHTML部分：</p>
<p>&lt;div id=&#8221;page&#8221;&gt;<br />
 &lt;a href=&#8221;#&#8221;&gt;上一页&lt;/a&gt;<br />
 &lt;a href=&#8221;#&#8221;&gt;1&lt;/a&gt;<br />
 &lt;a href=&#8221;#&#8221;&gt;2&lt;/a&gt;  <br />
 &lt;a href=&#8221;#&#8221;&gt;3&lt;/a&gt;<br />
 &lt;a href=&#8221;#&#8221;&gt;下一页&lt;/a&gt;<br />
&lt;/div&gt;</p>
<p>CSS部分：</p>
<p>#page{ text-align:center; height:30px; line-height:30px; }<br />
a { padding: 3px 5px; font-family: Arial; font-size: 14px; color: #333; background: #eee; border: 1px solid #ccc; margin-right: 2px; text-decoration: none; }<br />
a:hover { background: red; color: #fff; border: 1px solid #000;}</p>
<p> </p>
<p>事后，她笑我：你是对着 JS 代码太久了吧？简单的问题你都用复杂的思路去解决？？</p>
<p>很惭愧，也很受用……向这位朋友学习～··写下此篇，以提醒自己今后解决问题的思路一定要化繁为简。</p>
<p><a href="http://www.miaov.com/demo/page.html" target="_blank">&gt;&gt;点击这里查看效果</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/402.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>设置等高布局</title>
		<link>http://www.miaov.com/395.html</link>
		<comments>http://www.miaov.com/395.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 10:28:35 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[css布局]]></category>
		<category><![CDATA[等高设置]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=395</guid>
		<description><![CDATA[什么是等高布局？ ——无论页面左侧高度发生变化、还是右侧变化，左右二边的高度在视觉上始终都是一样的。 原理：在父级设置1px高的背景图片，并设计 y 轴方向平铺：repeat-y，用图片的方式代替背景色，在视觉上达到等高的效果。 另外，网上有一种设置填充与边距最大值的实现方式（padding-bottom: 999999px; margin-bottom: -999999px;），似乎只能兼容 IE8、Firefox， &#62;&#62;点此下载]]></description>
			<content:encoded><![CDATA[<p><strong>什么是等高布局？</strong><br />
——无论页面左侧高度发生变化、还是右侧变化，左右二边的高度在视觉上始终都是一样的。</p>
<p>原理：在父级设置1px高的背景图片，并设计 y 轴方向平铺：repeat-y，用图片的方式代替背景色，在视觉上达到等高的效果。</p>
<p><iframe width="646" height="420" src="http://www.miaov.com/demo/sameness/sameness.html" frameBorder="0" scrolling="no" allowTransparency="allowtransparency"></iframe></p>
<p>另外，网上有一种设置填充与边距最大值的实现方式（padding-bottom: 999999px; margin-bottom: -999999px;），似乎只能兼容 IE8、Firefox，<br />
<a href="http://www.miaov.com/demo/sameness.rar">&gt;&gt;点此下载</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/395.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JQuery 性能优化指南</title>
		<link>http://www.miaov.com/392.html</link>
		<comments>http://www.miaov.com/392.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 09:42:59 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[JavaScript+JQuery]]></category>
		<category><![CDATA[JQuery]]></category>
		<category><![CDATA[性能]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=392</guid>
		<description><![CDATA[网上摘抄整理： 1. 尽可能用 ID 选择器 var $but = $(&#8220;#content .button&#8221;); 2. 就近选择多个元素 var $p = $(&#8220;#content p&#8221;); 3. 用一个标签名来限制 class (并且不要忘记加上就近的ID)，尽可能不要使用 $(&#8220;.box&#8221;)，可以是 $(&#8220;div.box&#8221;)、$(&#8220;#head .box&#8221;)、$(&#8220;#head ul.box&#8221;) 比如选择 class 名为 .on 的元素： &#60;ul id=&#8221;list&#8221;&#62; &#60;li&#62;&#60;p&#62;JQuery&#60;/p&#62;&#60;/li&#62; &#60;/ul&#62; var $p_on = $(&#8220;#list p.on&#8221;); 4. 将 JQuery 对象缓存起来 var $but = $(&#8220;#content .button&#8221;); $but.click(function() { alert(1); }); 5. 掌握强大的链式操作 var [...]]]></description>
			<content:encoded><![CDATA[<p><strong>网上摘抄整理：</strong></p>
<p>1. 尽可能用 ID 选择器<br />
var $but = $(&#8220;#content .button&#8221;);</p>
<p>2. 就近选择多个元素<br />
var $p = $(&#8220;#content p&#8221;);</p>
<p>3. 用一个标签名来限制 class (并且不要忘记加上就近的ID)，尽可能不要使用 $(&#8220;.box&#8221;)，可以是</p>
<p>$(&#8220;div.box&#8221;)、$(&#8220;#head .box&#8221;)、$(&#8220;#head ul.box&#8221;)<br />
比如选择 class 名为 .on 的元素：<br />
&lt;ul id=&#8221;list&#8221;&gt;<br />
&lt;li&gt;&lt;p&gt;JQuery&lt;/p&gt;&lt;/li&gt;<br />
&lt;/ul&gt;<br />
var $p_on = $(&#8220;#list p.on&#8221;);</p>
<p>4. 将 JQuery 对象缓存起来<br />
var $but = $(&#8220;#content .button&#8221;);<br />
$but.click(function() { alert(1); });</p>
<p>5. 掌握强大的链式操作<br />
var $box = $(&#8220;#box&#8221;);<br />
$box.click(function() {<br />
 $(this).css(&#8220;border&#8221;, &#8220;3px dashed yellow&#8221;).fadeIn(&#8220;slow&#8221;);<br />
});</p>
<p>6. 像这样绑定事件是低效的:<br />
$(&#8220;#entryform input&#8221;).bind(&#8220;focus&#8221;, function(){<br />
 $(this).addClass(&#8220;selected&#8221;);<br />
}).bind(&#8220;blur&#8221;, function(){<br />
 $(this).removeClass(&#8220;selected&#8221;);<br />
});</p>
<p>我们需要在父级监听获取焦点和失去焦点的事件:<br />
$(&#8220;#entryform&#8221;).bind(&#8220;focus&#8221;, function(e){<br />
 var $cell = $(e.target); // e.target 触发事件的节点<br />
 $cell.addClass(&#8220;selected&#8221;);<br />
}).bind(&#8220;blur&#8221;, function(e){<br />
 var $cell = $(e.target);<br />
 $cell.removeClass(&#8220;selected&#8221;);<br />
});</p>
<p>未完待续……</p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/392.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE6、IE7、IE8、Firefox 都兼容的 CSS HACK 代码</title>
		<link>http://www.miaov.com/384.html</link>
		<comments>http://www.miaov.com/384.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 08:58:26 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[css hack代码]]></category>
		<category><![CDATA[兼容性]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=384</guid>
		<description><![CDATA[写在前面很严肃的话： 我们的浏览器，有各种各样的 bug，这在前面的一篇文章里略有介绍。 在解决浏览器兼容性问题的时候，我们也有许多办法，但有时候尝试了各种各样的办法，仍然不能使页面的某些细微之处兼容每一个浏览器，因此，我们才使用 css hack 代码，解决那些顽固的浏览器兼容性问题——请注意：它只是为了解决真正的浏览器之间不兼容的现象，而不是帮助我们解决任何的页面错位问题！！ 有时候，我们页面之所以出现错位，是因为我们的样式或者结构设置不合理，在这种情况下，一定要找出导致页面不兼容的真正原因，千万不要轻易使用 css hack 代码，以免造成下一个浏览器版本不兼容、以及为下一个页面错位的问题埋下隐患！！！ 好了，下面是 css hack 代码： div {  width: 100px; height: 100px;  background: red;        /* 所有浏览器都识别 */  background: blue\9;    /* IE6、IE7、IE8 识别 */  +background: yellow;  /* IE6、IE7 识别 */  _background: green;   /* 仅 IE6 识别 */ } 注意：这个顺序是利用CSS优先级的顺序排列，不可颠倒。 这个 div 在各个浏览器下的呈现效果：]]></description>
			<content:encoded><![CDATA[<p><strong>写在前面很严肃的话：<br />
</strong>我们的浏览器，有各种各样的 bug，这在前面的<a title="常见的浏览器bug" href="http://www.miaov.com/361.html" target="_self">一篇文章</a>里略有介绍。<br />
在解决浏览器兼容性问题的时候，我们也有许多办法，但有时候尝试了各种各样的办法，仍然不能使页面的某些细微之处兼容每一个浏览器，因此，我们才使用 css hack 代码，解决那些顽固的浏览器兼容性问题——<strong>请注意：它只是为了解决真正的浏览器之间不兼容的现象，而不是帮助我们解决任何的页面错位问题！！<br />
</strong>有时候，我们页面之所以出现错位，是因为我们的样式或者结构设置不合理，在这种情况下，一定要找出导致页面不兼容的真正原因，千万不要轻易使用 css hack 代码，以免造成下一个浏览器版本不兼容、以及为下一个页面错位的问题埋下隐患！！！</p>
<p>好了，下面是 css hack 代码：</p>
<p><strong>div {<br />
</strong> width: 100px; height: 100px;<br />
<strong> background: red;        /* 所有浏览器都识别 */<br />
 background: blue\9;    /* IE6、IE7、IE8 识别 */<br />
 +background: yellow;  /* IE6、IE7 识别 */<br />
 _background: green;   /* 仅 IE6 识别 */<br />
}</strong></p>
<p><strong>注意：这个顺序是利用CSS优先级的顺序排列，不可颠倒。</strong></p>
<p>这个 div 在各个浏览器下的呈现效果：</p>
<p><img class="alignnone size-full wp-image-385" title="browser" src="http://www.miaov.com/wp-content/uploads/2009/10/browser.jpg" alt="browser" width="566" height="628" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/384.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>浏览器常见的BUG</title>
		<link>http://www.miaov.com/361.html</link>
		<comments>http://www.miaov.com/361.html#comments</comments>
		<pubDate>Mon, 19 Oct 2009 05:57:15 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[浏览器]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=361</guid>
		<description><![CDATA[首先说明一点： 页面错位不等于浏览器BUG，BUG是指设置了正确的CSS，浏览器却不以预期的样式呈现。 比如设置了某个元素：margin-left: 10px; 但是在浏览器中， 这个 DIV 元素实际呈现的却是：margin-left: 20px; ——在这种情况下才有可能是浏览器 BUG。 1.上下 margin 叠加问题——这个问题不属于浏览器的BUG，但却容易让学习CSS的朋友误解： 现在有二个元素： div1 和 div2，div1 的下面有 10px 的外边距，div2 的上面有 10px 的外边距， 样式如下： #div1 { width: 100px; height: 100px; background: #eee; margin-bottom:10px; } #div2 { width: 100px; height: 100px; background: #eee; margin-top:10px; } 结构如下： &#60;div id=&#8221;div1&#8243;&#62;div1&#60;/div&#62; &#60;div id=&#8221;div2&#8243;&#62;div2&#60;/div&#62; 我们原本期望这二个 div 之间距离是 20px，然而效果却是这样： 也就是说：这二个 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>首先说明一点：</strong></p>
<p>页面错位不等于浏览器BUG，BUG是指设置了正确的CSS，浏览器却不以预期的样式呈现。</p>
<p>比如设置了某个元素：margin-left: 10px; 但是在浏览器中，</p>
<p>这个 DIV 元素实际呈现的却是：margin-left: 20px;</p>
<p>——在这种情况下才有可能是浏览器 BUG。</p>
<p><strong>1.上下 margin 叠加问题——这个问题不属于浏览器的BUG，但却容易让学习CSS的朋友误解：</strong></p>
<p>现在有二个元素： div1 和 div2，<strong>div1 的下面</strong>有 10px 的外边距，<strong>div2 的上面</strong>有 10px 的外边距，</p>
<p>样式如下：<br />
#div1 { width: 100px; height: 100px; background: #eee; <strong>margin-bottom:10px;</strong> }<br />
#div2 { width: 100px; height: 100px; background: #eee; <strong>margin-top:10px;</strong> }</p>
<p>结构如下：<br />
&lt;div id=&#8221;div1&#8243;&gt;div1&lt;/div&gt;<br />
&lt;div id=&#8221;div2&#8243;&gt;div2&lt;/div&gt;</p>
<p>我们原本期望这二个 div 之间距离是 <strong>20px</strong>，然而效果却是这样：</p>
<p><img class="alignnone size-full wp-image-362" title="bug1" src="http://www.miaov.com/wp-content/uploads/2009/10/bug1.gif" alt="bug1" width="271" height="272" /></p>
<p>也就是说：这二个 div 之间，有 10px 的空间被<strong>叠加</strong>在一起。<br />
假如把 div1 的 margin-bottom 增加到 15px，那么它们之间的距离就成了 15px，<br />
仍然有 10px 的空间被叠加起来。</p>
<p><strong>*解决方法：</strong>给这二个 div 多加二个样式：<strong>float: left; clear: left;</strong></p>
<p>最终样式：<br />
#div1 { width: 100px; height: 100px; background: #eee; margin-bottom: 10px;<strong> float: left; clear: left;</strong> }<br />
#div2 { width: 100px; height: 100px; background: #eee; margin-top: 10px; <strong>float: left; clear: left;</strong> }</p>
<p>最终效果图：</p>
<p><img class="alignnone size-full wp-image-363" title="bug2" src="http://www.miaov.com/wp-content/uploads/2009/10/bug2.gif" alt="bug2" width="271" height="272" /></p>
<p><strong>2. IE6 浮动 margin 双边距 bug</strong></p>
<p>设置一个父级元素 box 和一个子级元素 childbox，</p>
<p>子级元素设置左浮动，并且还设置左边距 10px ：</p>
<p>样式如下：</p>
<p>#box { width: 200px; height: 150px; border: 1px solid #ccc; }<br />
#childbox { width: 100px; height: 100px; background: red;</p>
<p><strong>float: left; margin-left: 10px;</strong> }</p>
<p>结构如下：</p>
<p>&lt;div id=&#8221;box&#8221;&gt;</p>
<p>&lt;div id=&#8221;childbox&#8221;&gt;childbox&lt;/div&gt;</p>
<p>&lt;/div&gt;</p>
<p>这样设置以后，在 Firefox、ie7、ie8 下都正常显示，可是在 ie6 下，显示成这样：</p>
<p><img class="alignnone size-full wp-image-369" title="bug3" src="http://www.miaov.com/wp-content/uploads/2009/10/bug3.gif" alt="bug3" width="203" height="222" /></p>
<p>我们明明只给了左边距为 <strong>10px！！——</strong>如果把 10px 改成 <strong>20px</strong> 的话，ie6 下就会变成 <strong>40px！！</strong>由此可见，在这种情况下，ie6 对 margin-left 的解释就是在原来的值上多加了一倍！！</p>
<p><strong>*解决方法：</strong>给子级元素 childbox 添加一行样式：<strong>display: inline;</strong></p>
<p>最终样式：</p>
<p>#box { width: 200px; height: 150px; border: 1px solid #ccc; }<br />
#childbox { width: 100px; height: 100px; background: red; float: left; <strong>margin-left: 10px;</strong> <strong>display: inline;</strong> }</p>
<p><strong>最终效果图：</strong></p>
<p><strong><img class="alignnone size-full wp-image-371" title="bug4" src="http://www.miaov.com/wp-content/uploads/2009/10/bug41.gif" alt="bug4" width="203" height="222" /></strong></p>
<p><strong> </strong></p>
<p><strong>3. li 下 的 bug</strong></p>
<p>当 li 里包含了<strong>任何设置浮动的元素</strong>以后，此 bug 就会在 ie6、ie7 下出现：</p>
<p>样式如下：</p>
<p>ul,p { padding: 0; margin: 0; }<br />
li { list-style: none; }<br />
/* 清除浏览器默认样式 */</p>
<p>ul { width: 110px; }<br />
li { width: 100px; height: 20px; border: 1px solid #333; }<br />
p { width: 100px; height: 20px; <strong>float: left;</strong> }</p>
<p>结构如下：</p>
<p>&lt;ul&gt;<br />
&lt;li&gt;&lt;p&gt;p&lt;/p&gt;&lt;/li&gt;<br />
&lt;li&gt;&lt;p&gt;p&lt;/p&gt;&lt;/li&gt;<br />
&lt;/ul&gt;</p>
<p>在 ie6、ie7 里莫明奇妙多出来了几个象素：</p>
<p><img class="alignnone size-full wp-image-373" title="bug5" src="http://www.miaov.com/wp-content/uploads/2009/10/bug5.gif" alt="bug5" width="203" height="116" /></p>
<p>注意：我并没有给 li 设置 <strong>margin-bottom</strong> 的样式。</p>
<p><strong>*解决方法：</strong>给 li 多添加一行样式：<strong>float: left; </strong>并且要<strong>保证 li 拥有足够的宽</strong>，别让第二行的 li 真的浮动上来！</p>
<p><strong>最终样式：</strong></p>
<p>ul,p { padding: 0; margin: 0; }<br />
li { list-style: none; }<br />
/* 清除浏览器默认样式 */</p>
<p>ul { <strong>width: 110px;</strong> }<br />
li {<strong> width: 100px;</strong> height: 20px; border: 1px solid #333; <strong>float: left;</strong> }<br />
p { width: 100px; height: 20px; float: left; }</p>
<p><strong>4. ie6 绝对定位下的 1 象素 bug</strong></p>
<p>绝对定位真是个好样式，在众多样式之中它最可爱^_^，你希望它跑到哪去，它就跑到哪里，可惜，这样的乖孩子，也禁不住 ie6 的折磨！！</p>
<p>我们先把<strong>父级元素的宽</strong>设置成任何<strong>奇数</strong>，例如：350px，让<strong>子级元素浮动到父级右侧：</strong></p>
<p>样式如下：</p>
<p>#box { <strong>width: 155px;</strong> height: 121px; position: relative; background: red; }<br />
#childbox { width: 100px; height: 100px; position: absolute; top: 0; <strong>right: 0;</strong> background: yellow; }</p>
<p>结构如下：</p>
<p>&lt;div id=&#8221;box&#8221;&gt;<br />
&lt;div id=&#8221;childbox&#8221;&gt;&lt;/div&gt;<br />
&lt;/div&gt;</p>
<p>结果，讨厌的 1px 出现了：</p>
<p><strong><img class="alignnone size-full wp-image-380" title="bug6" src="http://www.miaov.com/wp-content/uploads/2009/10/bug61.gif" alt="bug6" width="203" height="216" /></strong></p>
<p><strong>注意看右侧，那虽然细微、但仍然很刺眼的 1px bug！！！</strong></p>
<p>如果把位置调到右下角，结果<strong>下面</strong>和<strong>右边</strong>都出现了这 <strong>1px 的 bug！！</strong></p>
<p><img class="alignnone size-full wp-image-381" title="bug7" src="http://www.miaov.com/wp-content/uploads/2009/10/bug7.gif" alt="bug7" width="203" height="216" /></p>
<p>这个细小的 bug 虽然不起眼，但如果我们用 <strong>绝对定位</strong> 来处理 <strong>圆角效果</strong> 的话，那就让人郁闷了～···</p>
<p><strong>*解决方法：最好把父级的宽设置成偶数！否则，就只能用 css hack 代码了！</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/361.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>被朋友问到的几个CSS小技巧</title>
		<link>http://www.miaov.com/318.html</link>
		<comments>http://www.miaov.com/318.html#comments</comments>
		<pubDate>Tue, 13 Oct 2009 16:05:26 +0000</pubDate>
		<dc:creator>leo</dc:creator>
				<category><![CDATA[XHTML+CSS]]></category>

		<guid isPermaLink="false">http://www.miaov.com/?p=318</guid>
		<description><![CDATA[被朋友们问到了关于 CSS 一些琐碎的小问题，我的感觉是：虽然这些问题很简单，但是我们在工作当中，经常会被这些琐碎的小知识点给卡住了，并非它们有多么难，可总会有不太好解决的时候，现在记录一下，以备日后查看： 1.设置：&#62;&#62;更多 而不是 &#62;&#62;更多 ——相信大家注意到 更多 前面的符号了，我曾见过一段因为设置不好这个符号而直接用 图片 来代替的代码，其实它们仅仅只是字体不一样。 &#62;&#62;更多 这个 css 的字体是：font-family: &#8216;宋体&#8217;; &#62;&#62;更多 这个 css 的字体是：font-family: Arial;   2. 设置自适应宽的虚线，效果图如下： 在这个效果里，左侧文字的宽度不确定，虚线要自适应文字个数的变化。 制作这个效果的思路是：使用 ul、li 结构，把图片切成 width: 4px; height: 1px; 的小点，将图片设置成 li 标签的背景，进行 x 轴方向平铺，再把包含文字标签（比如 span）的背景设为白色（与背景色同一颜色），加上内填充（padding: 0 10px;）即可。 &#62;&#62;查看效果 &#62;&#62;下载代码   3. 设置DIV内的下拉条，效果图如下： 布局方面不多说了，都在下面的源文件里。现在就来看看中间的下拉条如何设置： 要让某个 块级元素 内出现下拉条效果，先要给它固定的高、宽，也就是要限定它的范围，接着加上 CSS 样式：overflow: auto; 这句意思是：当元素内容有超出的部分，就自动显示，下拉条也就出现了。 现在，要让下拉条出现在右侧，而不要让它在底端也出现，还需要做一些设置： 让子级元素的 [...]]]></description>
			<content:encoded><![CDATA[<p>被朋友们问到了关于 CSS 一些琐碎的小问题，我的感觉是：虽然这些问题很简单，但是我们在工作当中，经常会被这些琐碎的小知识点给卡住了，并非它们有多么难，可总会有不太好解决的时候，现在记录一下，以备日后查看：</p>
<p>1.设置：<a style="font-family: '宋体';" href="http://www.miaov.com">&gt;&gt;更多</a> 而不是 <a style="font-family: Arial;" href="http://www.miaov.com">&gt;&gt;更多</a><br />
——相信大家注意到 更多 前面的符号了，我曾见过一段因为设置不好这个符号而直接用 <strong>图片</strong> 来代替的代码，其实它们仅仅只是字体不一样。<br />
<a style="font-family: '宋体';" href="http://www.miaov.com">&gt;&gt;更多</a> 这个 css 的字体是：font-family: &#8216;宋体&#8217;;<br />
<a style="font-family: Arial;" href="http://www.miaov.com">&gt;&gt;更多</a> 这个 css 的字体是：font-family: Arial;</p>
<p> </p>
<p>2. 设置自适应宽的虚线，效果图如下：<br />
<img class="alignnone size-full wp-image-340" title="dotted" src="http://www.miaov.com/wp-content/uploads/2009/10/dotted.gif" alt="dotted" width="448" height="96" /></p>
<p>在这个效果里，左侧文字的宽度不确定，虚线要自适应文字个数的变化。<br />
<strong>制作这个效果的思路是：</strong>使用 ul、li 结构，把图片切成 width: 4px; height: 1px; 的小点，将图片设置成 li 标签的背景，进行 x 轴方向平铺，再把包含文字标签（比如 span）的背景设为白色（与背景色同一颜色），加上内填充（padding: 0 10px;）即可。</p>
<p><a href="http://www.miaov.com/demo/dotted/dotted.html" target="_blank">&gt;&gt;查看效果</a></p>
<p><a href="http://www.miaov.com/demo/dotted.rar">&gt;&gt;下载代码</a></p>
<p> </p>
<p>3. 设置DIV内的下拉条，效果图如下：</p>
<p><img class="alignnone size-full wp-image-347" title="overflow_y" src="http://www.miaov.com/wp-content/uploads/2009/10/overflow_y.gif" alt="overflow_y" width="210" height="255" /></p>
<p>布局方面不多说了，都在下面的源文件里。现在就来看看中间的下拉条如何设置：</p>
<p>要让某个 <strong>块级元素 </strong>内出现下拉条效果，先要给它固定的<strong>高、宽</strong>，也就是要限定它的范围，接着加上 CSS 样式：<strong>overflow: auto;</strong><br />
这句意思是：当元素内容有超出的部分，就自动显示，下拉条也就出现了。</p>
<p>现在，要让下拉条出现在右侧，而不要让它在底端也出现，还需要做一些设置：</p>
<p>让子级元素的 <strong>宽 </strong>小于父级的宽，比如父级元素的宽是 100px，减去下拉条的宽（IE8下拉条的宽是 14px），那子级元素的宽度为：82px; ——<strong>等等，为什么不是 86px ？？</strong></p>
<p><strong>原因：</strong>IE6、IE7 与 IE8、火狐 对于 <strong>下拉条的宽度 </strong>的显示尺寸是不一样的，<strong>IE6、IE7下拉条的宽度要略大于 IE8、火狐的宽</strong>，所以在设置子级宽度的时候，最好少设置几个像素，以免出现下面这种情况：</p>
<p><img class="alignnone size-full wp-image-349" title="auto" src="http://www.miaov.com/wp-content/uploads/2009/10/auto.gif" alt="auto" width="202" height="102" /></p>
<p>另外，还有一种情况，当效果图是这样的时候：</p>
<p><img class="alignnone size-full wp-image-350" title="auto2" src="http://www.miaov.com/wp-content/uploads/2009/10/auto2.gif" alt="auto2" width="202" height="102" /></p>
<p>子级的高并没有超出父级的高，也希望下拉条显示出来，样式设置如下：<strong>overflow-y: scroll;</strong></p>
<p>意思是：让元素的 Y轴 出现滚动条（卷轴）。</p>
<p>最终效果如下所示，<strong>鼠标可以点击查看</strong>，也可以 <a href="http://www.miaov.com/demo/hover.rar">>>下载源文件</a>：<br />
<iframe width="220" height="280" src="http://www.miaov.com/demo/hover/hover.html" frameBorder="0" scrolling="no" allowTransparency="allowtransparency"></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miaov.com/318.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
