<?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"
	>

<channel>
	<title>麦鸡(Macji)</title>
	<atom:link href="http://www.macji.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.macji.com</link>
	<description>#分享与关注WEB前端开发技术</description>
	<pubDate>Tue, 04 Nov 2008 01:13:52 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Progressive Enhancement 的 Tab</title>
		<link>http://www.macji.com/2008/11/03/progressive-enhancement-of-the-tab/</link>
		<comments>http://www.macji.com/2008/11/03/progressive-enhancement-of-the-tab/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 12:03:46 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[Progressive Enhancement]]></category>

		<category><![CDATA[tab]]></category>

		<category><![CDATA[渐进增强]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=45</guid>
		<description><![CDATA[大家一直在讲Progressive Enhancement，如果你不看英文，那么请看玉伯翻译的理解渐进增强（Progressive Enhancement）。也标题一下，做一个tab切换实例，来进一步说明Progressive Enhancement(渐进增强)。
需... ]]></description>
			<content:encoded><![CDATA[<p>大家一直在讲<a href="http://www.alistapart.com/articles/understandingprogressiveenhancement">Progressive Enhancement</a>，如果你不看英文，那么请看玉伯翻译的<a href="http://lifesinger.org/blog/?p=298">理解渐进增强（Progressive Enhancement）</a>。也标题一下，做一个<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>切换实例，来进一步说明<a href="http://www.macji.com/tag/progressive-enhancement/" class="st_tag internal_tag" rel="tag" title="标签 Progressive Enhancement 下的日志">Progressive Enhancement</a>(渐进增强)。</p>
<p>需求：做一个<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>，要求当用户禁止javascript后，<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>还能照样使用。</p>
<blockquote><p><img src="http://labs.macji.com/img/tab.png" alt="" /></p></blockquote>
<p>貌似不能实现，可仔细想想是可以实现的，连<a href="http://www.macji.com/2008/10/01/pure-css-of-the-unobtrusive-carousel/">这个</a>都能实现，何况一个<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>呢。。。</p>
<ol>
<li>首先我们写html结构</p>
<pre><code>
&lt;div id="<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>" class="mj"&gt;
    &lt;ul class="mj-nav">
        &lt;li class="first">&lt;a href="#">&lt;span>类目1&lt;/span>&lt;/a>&lt;/li>
        &lt;li>&lt;a href="#">&lt;span>类目2&lt;/span>&lt;/a>&lt;/li>
        &lt;li>&lt;a href="#">&lt;span>类目3&lt;/span>&lt;/a>&lt;/li>
    &lt;/ul>
    &lt;div class="panel">
        &lt;p>这是类目1&lt;/p>
    &lt;/div>
    &lt;div class="panel">
        &lt;p>这是类目2&lt;/p>
    &lt;/div>
    &lt;div class="panel">
        &lt;p>这是类目3&lt;/p>
    &lt;/div>
&lt;/div>
</code></pre>
<p><a href="http://labs.macji.com/tab/test-1.html">测试地址一</a></li>
<li>写上<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>
<pre><code>
.mj{
	width:500px;
	padding:10px 0;
	border:solid 1px #bfbfbf;
}
.mj-nav, .mj-nav *{
	background:url(cat_selector.png) no-repeat 100px 100px;
}
/* <a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a> 导航条 */
.mj .mj-nav{
	height:25px;
	padding:0 10px;
	line-height:25px;
	background-position:0 0;
}
.mj-nav li{
	float:left;
}
.mj-nav a{
	float:left;
	padding-left:20px;
}
.mj-nav span{
	display:block;
	padding-right:20px;
}
.mj-nav a{
	background-position:-500px 0;
}
.mj-nav .first a{
	background-position:100px 100px;
}
.mj-nav .selected{
	position:relative;
	margin:0 -1px 0 0;
}
.mj-nav .selected a{
	background-position:0 -25px;
}
.mj-nav .selected span{
	background-position:100% -25px;
}
</code></pre>
<p><a href="http://labs.macji.com/tab/test-2.html">测试地址二</a></li>
<li>引入js，这里直接用Tbar，
<pre><code>
&lt;script src="http://assets.taobaocdn.com/js/tbra/tbra-widgets.js?t=20081028.js" type="text/javascript">&lt;/script>
.....
&lt;script type="text/javascript">
	TB.widget.SimpleTab.decorate('<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>', {eventType:'click', currentClass:'selected'});
&lt;/script>
</code></pre>
<p><a href="http://labs.macji.com/tab/test-3.html">测试地址三</a></li>
<li>ok，到这里我们的<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>就算完成了。只要浏览器支持javascript，那么就可以使用我们的<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>，但是，如果用户禁止了javascript，那后果该是怎样的呢？惨不忍睹。<a href="http://labs.macji.com/tab/test-4.html">测试地址四</a></li>
<li>我们都知道锚点(url#xxx)，定位到页面的位置。如果我们的锚点都在一个容器里面(div)，并且这个容器只有100像素高(height:100px;overflow:hidden)，然后我们锚点到它的字容器(字容器都是height:100px)，那该是怎么样的呢？答案是可行的，可惜只有Opera不支持这种机制。
<pre><code>
//在原来的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>基础上加上
.panels{
	height:50px;
	overflow:hidden;
}
.panel{
	height:50px;
}

&lt;div id="<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>" class="mj">
	&lt;ul class="mj-nav">
		&lt;li class="first">&lt;a href="#panel1">&lt;span>类目1&lt;/span>&lt;/a>&lt;/li>
		&lt;li>&lt;a href="#panel2">&lt;span>类目2&lt;/span>&lt;/a>&lt;/li>
		&lt;li>&lt;a href="#panel3">&lt;span>类目3&lt;/span>&lt;/a>&lt;/li>
	&lt;/ul>
	&lt;div class="panels">
		&lt;div id="panel1" class="panel">
			&lt;p>这是类目1&lt;/p>
		&lt;/div>
		&lt;div id="panel2" class="panel">
			&lt;p>这是类目2&lt;/p>
		&lt;/div>
		&lt;div id="panel3" class="panel">
			&lt;p>这是类目3&lt;/p>
		&lt;/div>
	&lt;/div>
&lt;/div>
</code></pre>
<p>我们只要再做一点点，就能让用户在没有javascript的情况下，也能使用<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>，可乐而不为呢？<a href="http://labs.macji.com/tab/test-5.html">测试地址五</a></li>
<li>但是，当页面很长时，点击切换后，我们<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>导航看不到了，<a href="http://labs.macji.com/tab/test-6.html">测试地址六</a></li>
<li>其实，我们只要在<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>上，调整一下就可以了。
<pre><code>
.mj{
	position:relative;
	width:500px;
	padding:10px 0;
	border:solid 1px #bfbfbf;
}
.mj-nav, .mj-nav *{
	background:url(cat_selector.png) no-repeat 100px 100px;
}
/* <a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a> 导航条 */
.mj .mj-nav{
	position:absolute;
	left:0;
	top:10px;
	width:480px;
	height:25px;
	padding:0 10px;
	line-height:25px;
	background-position:0 0;
}
</code></pre>
<p><a href="http://labs.macji.com/tab/test-7.html">测试地址七</a></li>
<li>这时，javascript可以出场了。我们给其加上脚本。<a href="http://labs.macji.com/tab/test-8.html">测试地址八</a></li>
<li>可恨的firefox 3，在有锚点，又有脚本，错位了。<a href="http://labs.macji.com/tab/test-9.html?#panel2">测试地址九</a></li>
<li>写上obj.scrollTop = 0;就可以了。
<pre><code>
var TabSelector = (function(){
	var el = $D.get('<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>');
	if ( !el ) return false;
	return {
		init: function(){
			$E.on(el.getElementsByTagName('ul')[0], 'click', function(){
				$E.stopEvent(ev);
			});
			TB.widget.SimpleTab.decorate('<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>', {
				eventType:'click',
				tabPanelClass:'panel',
				currentClass:'selected'
			});
			$D.getLastChild(el).scrollTop = 0;
		}
	}
})();
$E.onDOMReady(TabSelector.init);
</code></pre>
<p>比较完美的<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>，<a href="http://labs.macji.com/tab/test-10.html">测试地址十</a>，如果再渐进增强，比如键盘事件，盲人触摸等，更极端的，当<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>失效时，但我没疯。
</li>
</ol>
<p>其实到第三步，一个<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">tab</a>就做好了，也不需要考虑这么多了，但考虑下去，不是很难，疯一次也是不错的。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/11/03/progressive-enhancement-of-the-tab/feed/</wfw:commentRss>
		</item>
		<item>
		<title>使用feedburner</title>
		<link>http://www.macji.com/2008/11/03/the-use-of-feedburner/</link>
		<comments>http://www.macji.com/2008/11/03/the-use-of-feedburner/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 10:12:42 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[我的生活]]></category>

		<category><![CDATA[feed]]></category>

		<category><![CDATA[WordPress]]></category>

		<category><![CDATA[订阅]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=42</guid>
		<description><![CDATA[本来想用 Feedsky 的，但看到 放弃使用 Feedsky 服务，也跟着用feedburner了。
说正经的，如果你没有订阅我博客的，请订阅http://feed.macji.com/macji/，如果浏览器打不开，属正常哈，阅读器可以爬墙。... ]]></description>
			<content:encoded><![CDATA[<p>本来想用 Feedsky 的，但看到 <a href="http://www.gracecode.com/Archive/Display/2481">放弃使用 Feedsky 服务</a>，也跟着用<a href="http://feedburner.google.com/">feedburner</a>了。</p>
<p>说正经的，如果你没有订阅我博客的，请订阅<a href="http://feed.macji.com/macji/">http://feed.macji.com/macji/</a>，如果浏览器打不开，属正常哈，阅读器可以爬墙。如果你以前就订阅我了，请改一下rss源吧。因为<img src="http://feedproxy.google.com/~fc/macji?bg=f1f1f1&amp;fg=555555" alt="" />少的可怜。。。。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/11/03/the-use-of-feedburner/feed/</wfw:commentRss>
		</item>
		<item>
		<title>css计数器</title>
		<link>http://www.macji.com/2008/10/03/automatic-numbering-with-css-counters/</link>
		<comments>http://www.macji.com/2008/10/03/automatic-numbering-with-css-counters/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 15:17:55 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[计数器]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=27</guid>
		<description><![CDATA[这是css2的东西，但我才知道，我。。。其实是在看阅读器里Opera Developer Community的一个文章，原来这样也行，发现其实是css2，马上去看了嗷嗷书的目录，他也是这么些的。虽然不怎么用得到，... ]]></description>
			<content:encoded><![CDATA[<p>这是css2的东西，但我才知道，我。。。其实是在看阅读器里<a href="http://dev.opera.com/articles/view/automatic-numbering-with-css-counters/">Opera Developer Community的一个文章</a>，原来这样也行，发现其实是css2，马上去看了<a href="http://labs.aoao.org.cn/book/web-standards-design/catalog.html">嗷嗷书的目录</a>，他也是这么些的。虽然不怎么用得到，但还是记录一下。</p>
<p>当我们设计一个书的目录的时候，你是否会一个一个写上编号呢？其实可以利用<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>计数器。比如这个目录应该怎么写呢?</p>
<style>
#aoao-book{
	counter-<a href="http://www.macji.com/tag/reset/" class="st_tag internal_tag" rel="tag" title="标签 reset 下的日志">reset</a>: ordered;
	list-style:none
}
#aoao-book li:before {
	counter-increment: ordered;
	content:"第"counters(ordered,"")"章 ";
}
#aoao-book li li:before {
	counter-increment: ordered;
	content: counters(ordered,".") " ";
}
</style>
<blockquote cite="http://labs.aoao.org.cn/book/web-standards-design/catalog.html">
<ol id="aoao-book" >
<li>Web标准不是神话
<ol>
<li>理解Web标准
<ol>
<li>Web标准是什么</li>
<li>错误的思维</li>
<li>无障碍网页倡议（WAI）</li>
</ol>
</li>
<li>量化Web标准
<ol>
<li>大部分通过W3C校验的网站只是伪标准</li>
<li>Web标准要求一览表</li>
<li>如果量化</li>
</ol>
</li>
<li>为什么选择Web标准</li>
<li><a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>为什么着火
<ol>
<li><a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a> 的作用</li>
<li><a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a> 布局 VS. 表格布局</li>
</ol>
</li>
<li>我能否学好Web标准
<ol>
<li>我需要具备什么素质和条件才能学好Web标准</li>
<li>学习的重点与难点</li>
</ol>
</li>
<li>欲善其事，先利其器
<ol>
<li>软件的选择</li>
<li>调试环境</li>
</ol>
</li>
</ol>
</li>
</ol>
</blockquote>
<p>这些编号都是<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>写上去的，但唯有IE不支持。。 - -</p>
<pre><code>
ol{
	counter-<a href="http://www.macji.com/tag/reset/" class="st_tag internal_tag" rel="tag" title="标签 reset 下的日志">reset</a>: ordered; /* 指定一个计数器，名字叫ordered */
	list-style:none; /* 去掉默认 */
}
ol li:before {
	counter-increment: ordered; /* 使用已命名的计数器(ordered)  如果是 ordered 2 那累加2，可以是负数*/
	content:"第"counters(ordered,"")"章 "; /* 在li之前输出计数器(ordered) */
}
ol li li:before {
	counter-increment: ordered;
	content: counters(ordered,".") " "; /* 在li里的li之前输出计数器(ordered)*/
}
</code></pre>
<p>地址：<a href="http://labs.aoao.org.cn/book/web-standards-design/catalog.html">http://labs.aoao.org.cn/book/web-standards-design/catalog.html</a></p>
<p>举一反三：<a href="http://dev.opera.com/articles/view/automatic-numbering-with-css-counters">http://dev.opera.com/articles/view/automatic-numbering-with-css-counters/</a>。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/10/03/automatic-numbering-with-css-counters/feed/</wfw:commentRss>
		</item>
		<item>
		<title>打造纯CSS的无侵入的卡盘（幻灯片）</title>
		<link>http://www.macji.com/2008/10/01/pure-css-of-the-unobtrusive-carousel/</link>
		<comments>http://www.macji.com/2008/10/01/pure-css-of-the-unobtrusive-carousel/#comments</comments>
		<pubDate>Tue, 30 Sep 2008 16:20:11 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[unobtrusive]]></category>

		<category><![CDATA[幻灯片]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=25</guid>
		<description><![CDATA[卡盘，也就是幻灯片，它应该是自动播放，但目前css是无法做到自动播放（可能会让你失望），所以它不应该叫幻灯片，但我扔这么称呼它为幻灯片。如果你认为可以用脚本来实现，嗯，地球... ]]></description>
			<content:encoded><![CDATA[<p><strong>卡盘</strong>，也就是幻灯片，它应该是自动播放，但目前<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>是无法做到自动播放（可能会让你失望），所以它不应该叫幻灯片，但我扔这么称呼它为幻灯片。如果你认为可以用脚本来实现，嗯，地球人都知道，显然违背了我们的主题，纯<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>的，无侵入的。似乎我标题党了，但请你耐下性子来听我说。</p>
<p>今天无意在<a href="http://bbs.blueidea.com">经典论坛</a>看到一个帖子，<a href="http://bbs.blueidea.com/viewthread.php?tid=2728504">纯CSS的图片展示效果</a>，它是利用锚点来实现，创意非常好，但马上令我兴奋，因为该效果有缺点。</p>
<blockquote>
<ol>
<li>Opera无效</li>
<li>无法记录状态</li>
<li>没有hover效果</li>
</ol>
</blockquote>
<p>这些正是我想说的，我想补充的。</p>
<p>首先，我们让它来<strong>兼容所有A级浏览器</strong>。其实原理很简单，既然使用锚点，我们应该记得css3有个伪类:target（非IE内核浏览器都支持），让它来控制，不就更好？</p>
<pre><code>&lt;style&gt;
.macji ul{
    width:250px;
    height:260px;
    overflow:hidden;
}
#b:target{
    margin:-260px 0 0;
}
#c:target{
    margin:-520px 0 0;
}
&lt;/style&gt;
&lt;div class="macji"&gt;
    &lt;ul&gt;
        &lt;li id="a"&gt;
            &lt;img src="http://pics.taobaocdn.com/bao/album/chl/digital/3Cpj_250X260_080904_fox.jpg" /&gt;
        &lt;/li&gt;
        &lt;li id="b"&gt;
            &lt;img src="http://pics.taobaocdn.com/bao/album/chl/smbzb_250x260_080818_ng.jpg" /&gt;
        &lt;/li&gt;
        &lt;li id="c"&gt;
            &lt;img src="http://pics.taobaocdn.com/bao/album/b2cdigital/guoqin_080919_250x260_xy.jpg" /&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
    &lt;ol&gt;
        &lt;li&gt;&lt;a href="#a"&gt;a&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#b"&gt;b&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#c"&gt;c&lt;/a&gt;&lt;/li&gt;
    &lt;/ol&gt;
&lt;/div&gt;
</code></pre>
<p><a href="http://labs.macji.com/carousel/carousel-1.html">测试地址</a></p>
<p>问题2，<strong>实现记录状态</strong>，那我们同样可以用伪类:target来实现，IE系列浏览器不支持。</p>
<pre><code>&lt;style&gt;
/*  省略一些<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>，下面这行是最关键的  */
a.item:hover, :target a.item{
	background:#f60;
}
&lt;/style&gt;
&lt;div class="macji"&gt;
    &lt;ul&gt;
        &lt;li id="a"&gt;
            &lt;a href="#a" class="item"&gt;1&lt;/a&gt;
            &lt;a href="#"&gt;&lt;img src="http://pics.taobaocdn.com/bao/album/chl/digital/3Cpj_250X260_080904_fox.jpg" /&gt;&lt;/a&gt;
        &lt;/li&gt;
	&lt;li id="b"&gt;
            &lt;a href="#b" class="item"&gt;2&lt;/a&gt;
            &lt;a href="#"&gt;&lt;img src="http://pics.taobaocdn.com/bao/album/chl/smbzb_250x260_080818_ng.jpg" /&gt;
        &lt;/li&gt;
        &lt;li id="c"&gt;
            &lt;a href="#c" class="item"&gt;3&lt;/a&gt;
            &lt;a href="#"&gt;&lt;img src="http://pics.taobaocdn.com/bao/album/b2cdigital/guoqin_080919_250x260_xy.jpg" /&gt;&lt;/a&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</code></pre>
<p><a href="http://labs.macji.com/carousel/carousel-2.html">测试地址</a></p>
<p>最后一个问题，<strong>hover效果</strong>，这可不是简单的:hover就可以实现，我们不能在li上给hover（这样当鼠标经过li就hover了），我们只能在数字上hover（&lt;a href=&#8221;#a&#8221; class=&#8221;item&#8221;&gt;1&lt;/a&gt;）然后来影响它对于的图片，貌似不可能纯<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>实现，但确实可以实现，用“ + ”来实现。由于用到:target和“+”，所以只有Firefox、Opera支持。-__-</p>
<pre><code>&lt;style&gt;
.macji{
	position:relative;
}
.macji ul{
	width:250px;
	height:260px;
	overflow:hidden;
}
ul li{
	height:260px;
}
.macji a{
	position:absolute;
	left:0;
	top:0;
	z-index:2;
}
a.item{
	z-index:10!important;
	left:10px;
	top:230px;
	display:block;
	width:20px;
	height:20px;
	border:solid 1px #777;
	line-height:20px;
	text-align:center;
	color:#fff;
	background:#aaa;
}

#b a.item{
	left:31px;
}
#c a.item{
	left:51px;
}
a.item:hover,:target a.item{
	background:#f60;
}
#a:target a.pic,#b:target a.pic,#c:target a.pic{
	z-index:3;
}
/* 原理是用绝对定位z-index来显示，另 “ + ” 只对节点的下一个兄弟节点有效 */
a.item:hover + a.pic{
	z-index:9!important;
}
/* for ie */
a.pic{
	* position:static;
}
&lt;/style&gt;
&lt;div class="macji"&gt;
    &lt;ul&gt;
        &lt;li id="a"&gt;
            &lt;a href="#a" class="item"&gt;1&lt;/a&gt;
            &lt;a href="#" class="pic"&gt;&lt;img src="http://pics.taobaocdn.com/bao/album/chl/digital/3Cpj_250X260_080904_fox.jpg" /&gt;
        &lt;/li&gt;
        &lt;li id="b"&gt;
            &lt;a href="#b" class="item"&gt;2&lt;/a&gt;
            &lt;a href="#" class="pic"&gt;&lt;img src="http://pics.taobaocdn.com/bao/album/chl/smbzb_250x260_080818_ng.jpg" /&gt;&lt;/a&gt;
        &lt;/li&gt;
        &lt;li id="c"&gt;
            &lt;a href="#c" class="item"&gt;3&lt;/a&gt;
            &lt;a href="#" class="pic"&gt;&lt;img src="http://pics.taobaocdn.com/bao/album/b2cdigital/guoqin_080919_250x260_xy.jpg" /&gt;&lt;/a&gt;
        &lt;/li&gt;
    &lt;/ul&gt;
&lt;/div&gt;
</code></pre>
<p><a href="http://labs.macji.com/carousel/carousel-3.html#a">最终演示</a>，代码实现是很简单，关键是是否联想到原理。举一反三，将会得到更多你想要的结果。不知不觉已是国庆节了，祝大家节日快乐！</p>
<p>扩展阅读：<a href="http://www.w3.org/TR/css3-selectors/#target-pseudo">css3伪类:target</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/10/01/pure-css-of-the-unobtrusive-carousel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>我比较喜欢的reset css</title>
		<link>http://www.macji.com/2008/09/30/simple-reset-css/</link>
		<comments>http://www.macji.com/2008/09/30/simple-reset-css/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 16:47:45 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[reset]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=24</guid>
		<description><![CDATA[各浏览器的默认样式都并不太一致，所以我们得建立一个reset.css，使各浏览器对各元素的默认属性都一致。reset css这大家都见得多了，对常用的莫过
*{margin:0;padding:0}
YUI的reset
body,div,dl,dt,dd,ul,ol,... ]]></description>
			<content:encoded><![CDATA[<p>各浏览器的默认样式都并不太一致，所以我们得建立一个<a href="http://www.macji.com/tag/reset/" class="st_tag internal_tag" rel="tag" title="标签 reset 下的日志">reset</a>.<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>，使各浏览器对各元素的默认属性都一致。<a href="http://www.macji.com/tag/reset/" class="st_tag internal_tag" rel="tag" title="标签 reset 下的日志">reset</a> <a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>这大家都见得多了，对常用的莫过</p>
<pre><code>*{margin:0;padding:0}</code></pre>
<p>YUI的<a href="http://developer.yahoo.com/yui/reset/">reset</a></p>
<pre><code>body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td {
    margin:0;
    padding:0;
}
table {
    border-collapse:collapse;
    border-spacing:0;
}
fieldset,img {
    border:0;
}
address,caption,cite,code,dfn,em,strong,th,var {
    font-style:normal;
    font-weight:normal;
}
ol,ul {
    list-style:none;
}
caption,th {
    text-align:left;
}
h1,h2,h3,h4,h5,h6 {
    font-size:100%;
    font-weight:normal;
}
q:before,q:after {
    content:'';
}
abbr,acronym {
    border:0;
}
</code></pre>
<p>这些<a href="http://www.macji.com/tag/reset/" class="st_tag internal_tag" rel="tag" title="标签 reset 下的日志">reset</a>没有最佳的，只有最适合自己项目的。</p>
<p>动手来做我喜欢的<a href="http://www.macji.com/tag/reset/" class="st_tag internal_tag" rel="tag" title="标签 reset 下的日志">reset</a> <a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>，而且也简单的。首先重置你的margin和pading</p>
<pre><code>
html, body, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul,
ol, li, dl, dt, dd, form, fieldset, input, th, td, a{
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    list-style: none;
}
</code></pre>
<p>重置标题字体大小为100%</p>
<pre><code>
h1,h2,h3,h4,h5,h6{
    font-size:100%;
}
</code></pre>
<p>设置文字大小100%的基数。</p>
<pre><code>
body{
    line-height: 1;
    font-size: 88%;
}
</code></pre>
<p>一般浏览器默认文字大小是1em，大约是16px，那body文字大小88%后，大约14px，所以h系列的大小也在14px左右。如果想给文字设置为12px，那么p{font-size:90%}。<br />最终重置<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a></p>
<pre><code>
html{/* for firefox */
    overflow:-moz-scrollbars-vertical;
    overflow-x:auto;
}
html, body, div, blockquote, img, label, p, h1, h2, h3, h4, h5, h6, pre, ul,
ol, li, dl, dt, dd, form, fieldset, input, th, td, a{
    margin: 0;
    padding: 0;
    border: 0;
    outline: none;
    list-style: none;
}
body{
    line-height: 1;
    font-size: 88%;
}
h1,h2,h3,h4,h5,h6{
    font-size:100%;
}
</code></pre>
<p>我这里没有设置字体，具体参照 <a href="http://htmlcssjs.com/blog/?p=35">web 安全字体</a> 吧。上面这些元素是最常用的，但现在用的比较多的有sup、sub、cite等，也可以考虑重置为无表现样式。</p>
<p>扩展阅读：<a href="http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/">http://meyerweb.com/eric/thoughts/2007/05/01/reset-reloaded/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/09/30/simple-reset-css/feed/</wfw:commentRss>
		</item>
		<item>
		<title>给你的WordPress自定义分页</title>
		<link>http://www.macji.com/2008/09/09/to-your-custom-page-wordpress/</link>
		<comments>http://www.macji.com/2008/09/09/to-your-custom-page-wordpress/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 15:59:43 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[php]]></category>

		<category><![CDATA[plugin]]></category>

		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=23</guid>
		<description><![CDATA[WordPress自带的分页不好用，只有上一页，下一页。感觉不爽，google了几下，分页插件倒是有，下过来想安装，但感觉代码太多，看了一下 wp-pagenavi 的分页插件，发现它怎么没写SQL，原来是我白... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.macji.com/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="标签 WordPress 下的日志">WordPress</a>自带的分页不好用，只有上一页，下一页。感觉不爽，google了几下，分页插件倒是有，下过来想安装，但感觉代码太多，看了一下 <strong>wp-pagenavi</strong> 的分页插件，发现它怎么没写SQL，原来是我白痴了一回，$request = $wp_query-&gt;request;就能得到，而且$wp_query-&gt;max_num_pages就能得到最多页数，有了这个参数，自己写完全没有问题。于是瞎捣鼓写了一个分页。</p>
<p>效果如我博客分页一致，最多显示5个页码，也就是1 2 3 4 5，2 3 4 5 6，3 4 5 6 7这种。那这种分页有三种情况：</p>
<blockquote>
<ol>
<li>少于或者等于5页时，始终显示1 2 3 4 5</li>
<li>页数在最后3个页数时，始终显示最后5页</li>
<li>其他都是加2减2</li>
<li>附加功能，显示 首页 上一页 下一页 末页，情况在不是第一页和最后一个</li>
</ol>
</blockquote>
<p>那么就可以动手写了。</p>
<pre><code>
function mj_pagenav() {
    global $wpdb, $wp_query;
    if (!is_single()) {
        $CycNum = 5;	//最多页数
        $maxPage = $wp_query-&gt;max_num_pages;		//最多页数
        $paged = intval(get_query_var('paged')) === 0 ? 1 : intval(get_query_var('paged')) ;	//paged=? 参数
        $Button = array("首页","上一页","下一页","未页");
        if($paged - 2 &lt;= 1){
            $FirstNum   =  1;
            $LastNum   =  min($maxPage, $CycNum);
        }elseif($maxPage - $paged &lt;= 2){
            $FirstNum   =  ($maxPage - 4 == 0) ? 1 : ($maxPage - 4);
            $LastNum   =  $maxPage;
        }else{
            $FirstNum   =  $paged - 2;
            $LastNum   =  $paged + 2;
        }
        //输出 首页 上一页
        echo ( 1 &gt;= $paged ) ? ''
            : '&lt;a href="' .get_option('siteurl') . '/"&gt;' . $ButtonArray[0] . '&lt;/a&gt;
                &lt;a href="' .get_option('siteurl') . '/page/' . ($paged - 1) . '/"&gt;' . $ButtonArray[1] . '&lt;/a&gt;';
        //输出 页码
        for($i = $FirstNum; $i &lt;= $LastNum; $i++){
            if ( $i == $paged ){
                $pageText = '&lt;a href="' .get_option('siteurl') . '/page/' . $i . '/"&gt;&lt;em&gt;' . $i . '&lt;/em&gt;&lt;/a&gt;';
            }else{
                $pageText = '&lt;a href="' .get_option('siteurl') . '/page/' . $i . '/"&gt;' . $i . '&lt;/a&gt;';
            }
            echo  $pageText;
        }
        //输出 下一页 末页
        echo ($max_page == $paged ) ? ''
            : '&lt;a href="' .get_option('siteurl') . '/page/' . ($paged + 1) . '/"&gt;'. $ButtonArray[2] .'&lt;/a&gt;
                &lt;a href="' .get_option('siteurl') . '/page/' . ($max_page) . '/"&gt;'. $ButtonArray[3] .'&lt;/a&gt;';
    }
}
</code></pre>
<p>代码比较简单，“上一页 下一页” 我都整在一行，将就着看。把mj_pagenav()放到该放的地方，简单的分页就弄好了，复杂的分页就再加几行代码（我这里把/page/xx写死了，只适应首页哈，搜索和存档等其它页的分页有空再改一下，-__-）。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/09/09/to-your-custom-page-wordpress/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Chrome的一些</title>
		<link>http://www.macji.com/2008/09/05/some-of-google-chrome/</link>
		<comments>http://www.macji.com/2008/09/05/some-of-google-chrome/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 09:00:07 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[前端开发工具]]></category>

		<category><![CDATA[browser]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[hack]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=22</guid>
		<description><![CDATA[Google浏览器一出，满世间都在议论它，包括我的阅读器，全在说它。它是一个非常优秀的浏览器，尤其是多线程，让我们打开多个网页不再受浏览器的限制，更多好处请Google Chrome 漫画中文版
... ]]></description>
			<content:encoded><![CDATA[<p>Google浏览器一出，满世间都在议论它，包括我的阅读器，全在说它。它是一个非常优秀的浏览器，尤其是多线程，让我们打开多个网页不再受浏览器的限制，更多好处请<a href="http://gribao.com/2008/09/gribao/3410.html">Google Chrome 漫画中文版</a></p>
<p>那到底为什么叫Chrome？其实我也不知道，我只听说在做mozilla插件（firefox）中，有个叫 chrome://的。金山词霸上说:  </p>
<blockquote><p>CHROME（铬合金）滤镜使用映射图来生成变化多端的，奇妙醒目的真实金属效果，如黄金 效果、银金属效果、铜金属效果及其它各种金属效果，所谓映射图就是解压缩的TIFF &#8230;</p></blockquote>
<p>显然这不是我们要的答案。好在 <strong>独行</strong> 给出解释：</p>
<blockquote><p>最早是用在计算机游戏设计上面，人们会说游戏里一些人物造型很“炫”，就是好看不中用，就管这种“炫”的设计叫Chrome，它原意是铬，可能因为铬都闪闪发光？后来就被科普成代表GUI Graphic User Interface了，都可以叫Chrome，再后来，用在浏览器设计上面，就是说浏览器视窗（window）周边的框，也包括上面的导航条，都叫chrome，象一个金属的框。</p></blockquote>
<p>用chrome打开任何一个网站，然后再其网站搜索后，再在地址栏键入该网站域名按<a href="http://www.macji.com/tag/tab/" class="st_tag internal_tag" rel="tag" title="标签 tab 下的日志">TAB</a>，将自动搜索该网站内容，貌似chrome很强悍，但在它的地址栏里输入&#8221; %: &#8220;，却立马崩溃，不知道为什么。另外它自带的几个开发者工具，不怎么好用。</p>
<p>大家都知道它是基于webkit的。有人已经写了它所支持的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>选择器。<a href="http://www.evotech.net/blog/2008/09/google-chrome-browser-css-selector-support/">http://www.evotech.net/blog/2008/09/google-chrome-browser-css-selector-support/</a>，该网站也列出了<a href="http://www.evotech.net/blog/2008/09/css-hack-for-google-chrome-and-safari-31/">chrome的css hack</a>，当然能用在Safari。<a href="http://www.hedgerwow.com/">hedgerwow</a>以前也列过一个<a href="http://www.hedgerwow.com/360/dhtml/detect-safari3-by-js-css.html">Safari hack</a>，当然chrome也能用。。挖挖。绕啊。</p>
<pre><code>
@media screen and (-webkit-min-device-pixel-ratio:0){
	.your_own_selector{
		color:red;
	}
}
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/09/05/some-of-google-chrome/feed/</wfw:commentRss>
		</item>
		<item>
		<title>小站更新大记</title>
		<link>http://www.macji.com/2008/09/01/macji-blog-update/</link>
		<comments>http://www.macji.com/2008/09/01/macji-blog-update/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 15:20:15 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[我的生活]]></category>

		<category><![CDATA[review]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=21</guid>
		<description><![CDATA[现在博客系统换成WordPress，博客地址为http://www.macji.com/，RSS地址为http://www.macji.com/feed/
也换主机了，感谢 空帷 同学提供主机（上周正愁要不要买MT的主机，那天中午去吃饭的路上，不巧被我听... ]]></description>
			<content:encoded><![CDATA[<p>现在博客系统换成<a href="http://wordpress.org/">WordPress</a>，博客地址为<a href="http://www.macji.com/">http://www.macji.com/</a>，RSS地址为<a href="http://www.macji.com/feed/">http://www.macji.com/feed/</a></p>
<p>也换主机了，感谢 <a href="http://www.quchao.com/">空帷</a> 同学提供主机（上周正愁要不要买<a href="http://www.mediatemple.net/">MT</a>的主机，那天中午去吃饭的路上，不巧被我听到空帷在喊 “老子有钱，一个人用一个服务器。@#￥%……&amp;×”。喊的好啊，马上跑上去说“我博客放你空间”）。主机是apache的，刚好博客换成<a href="http://www.macji.com/tag/wordpress/" class="st_tag internal_tag" rel="tag" title="标签 WordPress 下的日志">WordPress</a>系统（顺便花了点时间做了跟以前一模一样的WP主题），告别以前漏洞百出的自己瞎写的博客。</p>
<p>由于以前买的主机是IIS服务器的，WP不支持IIS的URL重写，网上搜的也写得很麻烦。为了实现URL静态化，于是就想自己写一个算了。那时“冲动”，说干就干了，边看<a href="http://www.macji.com/tag/php/" class="st_tag internal_tag" rel="tag" title="标签 php 下的日志">PHP</a>手册边请教<a href="http://www.zendstudio.net/">PHP达人</a>，遇到很多问题，靠着慢慢琢磨和google，很快程序出来了（我的第三个<a href="http://www.macji.com/tag/php/" class="st_tag internal_tag" rel="tag" title="标签 php 下的日志">php</a>程序），系统很简单很简单，那破系统还支持自定义模板呢（挖哈哈）。为了满足我的虚荣心，小秀一下原先的博客系统 ^_^</p>
<p>简单的结构，一目了然，很符合我的个性。</p>
<blockquote><p><img src="http://farm4.static.flickr.com/3048/2817049341_ccc2050af8.jpg?v=0" alt="" /></p></blockquote>
<p>includes目录下就这么几个文件，够轻巧吧。<br />
<blockquote><img src="http://farm4.static.flickr.com/3013/2817049345_42339f5435.jpg?v=0" alt="" /></p></blockquote>
<p>themes下面放&#8221;我所谓&#8221;的模板文件，外表都在这里了，跟WP的模板文件差不多。<br />
<blockquote><img src="http://farm4.static.flickr.com/3241/2817049351_d19bb35179.jpg?v=0" alt="" /></p></blockquote>
<p>我更加&#8221;骄傲&#8221;的是我华丽的后台，<br />
<blockquote><img src="http://farm4.static.flickr.com/3079/2817049333_c5fa0fb75a.jpg?v=0" /></p></blockquote>
<p>后台首页，然后是我的发表文章的地方，<br />
<blockquote><img src="http://farm4.static.flickr.com/3200/2817049335_2c40202234.jpg?v=0" /></p></blockquote>
<p>还可以管理评论哦。<br />
<blockquote><img src="http://farm4.static.flickr.com/3066/2817049339_e87b44b73c.jpg?v=0" /></p></blockquote>
<p>另外值得一提的是，由于懒到家的我，到现在，“友情链接”这功能还没做，我都是手动添加到sidebar.<a href="http://www.macji.com/tag/php/" class="st_tag internal_tag" rel="tag" title="标签 php 下的日志">php</a>里去滴。。。</p>
<p>这次博客换成WP了，告别陪伴我半年多的博客系统，以前的数据库结构和WP不一样，手动转了一些文章回来，评论就懒得转了，唉，有点，。。。挖哈哈，难得在博客上写这么多废话，也是值得表扬的，表扬一下麦鸡。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/09/01/macji-blog-update/feed/</wfw:commentRss>
		</item>
		<item>
		<title>20个CSS学习网站</title>
		<link>http://www.macji.com/2008/08/31/20-websites-to-help-you-learn-and-master-css/</link>
		<comments>http://www.macji.com/2008/08/31/20-websites-to-help-you-learn-and-master-css/#comments</comments>
		<pubDate>Sat, 30 Aug 2008 17:16:44 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[resource]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=19</guid>
		<description><![CDATA[CSS相对其他语言来说，门槛比较低，比较容易学习，但要想精通CSS可不是那么容易，你必须完全理解CSS。在你精通CSS过程中，这20个优秀的CSS站点来帮你。

A List  Apart CSS Topics大牛们的文章都发... ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>相对其他语言来说，门槛比较低，比较容易学习，但要想精通<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>可不是那么容易，你必须完全理解<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>。在你精通<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>过程中，这20个优秀的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>站点来帮你。</p>
<ol>
<li><a href="http://www.alistapart.com/topics/code/css/">A List  Apart CSS Topics</a><br />大牛们的文章都发表在这里</li>
<li><a href="http://artypapers.com/csshelppile/category.php?11">CSS Help Pile</a><br />N多的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>资源</li>
<li><a href="http://www.cssbasics.com/">CSS Basics</a><br /><a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>教程，<a href="http://www.cssbasics.com/full.pdf">猛击这里下载PDF</a></li>
<li><a href="http://dezwozhere.com/links.html">Holy CSS Zeldman!</a><br />收集了N多的资源，值得收藏</li>
<li><a href="http://meyerweb.com/eric/css/">Eric Meyer: CSS</a><br />也是很多<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>资源和参考</li>
<li><a href="http://www.456bereastreet.com/archive/categories/css/">456 Berea Street – CSS category</a><br />不得不看的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>技巧</li>
<li><a href="http://www.positioniseverything.net/">Position Is Everything</a><br />讨论的浏览器已知的bug和跨浏览器的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>方法</li>
<li><a href="http://www.htmldog.com/">HTML Dog CSS Tutorials</a><br />专业的<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>教学，从<a href="http://www.htmldog.com/guides/cssbeginner/">初级</a>到<a href="http://www.htmldog.com/guides/cssintermediate/">中级</a>，再到<a href="http://www.htmldog.com/guides/cssadvanced/">高级</a></li>
<li><a href="http://www.barelyfitz.com/screencast/html-training/css/positioning/">Learn CSS Positioning in Ten Steps</a><br />10步学会<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>定位属性</li>
<li><a href="http://www.andybudd.com/links/cssweb_standards/index.php">Andy Budd CSS/Web Standards Links</a><br />这里有更多的关于<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>的资源</li>
<li><a href="http://www.w3schools.com/css/default.asp">W3CSchools CSS Tutorial</a><br />这个不用说了</li>
<li><a href="http://csszengarden.com/">css Zen Garden</a><br /><a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>禅意花园</li>
<li><a href="http://css.maxdesign.com.au/">CSS at MaxDesign</a><br />提供整套<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>教程</li>
<li><a href="http://www.csseasy.com/">CSSeasy.com</a><br />他们的口号是：&#8221;learn <a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a> the modern way&#8221;</li>
<li><a href="http://www.css-discuss.org/">CSS-Discuss</a><br />这里有一群<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>爱好者</li>
<li><a href="http://webdesignfromscratch.com/css.cfm">Web Design from Scratch: CSS</a><br />这里也有入门到精通的教程</li>
<li><a href="http://css-tricks.com/">CSS-Tricks</a><br />专门讨论<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">CSS</a>，<a href="http://feeds.feedburner.com/CssTricks">订阅它吧</a></li>
<li><a href="http://delicious.com/tag/css">CSS on Delicious</a><br />看看美味书签的tag</li>
<li><a href="http://reference.sitepoint.com/css">SitePoint CSS Reference</a><br />很多<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>话题</li>
<li><a href="http://cssdog.com/index.html">CSSDog</a><br />一系列的教程</li>
</ol>
<p>更多详细的介绍：<a href="http://sixrevisions.com/css/20_websites_learn_master_css/">http://sixrevisions.com/css/20_websites_learn_master_css/</a></p>
<p>如果还不过瘾，那么查看我的<a href="http://www.google.com/reader/shared/user/16081677781740077789/label/feed">订阅</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/08/31/20-websites-to-help-you-learn-and-master-css/feed/</wfw:commentRss>
		</item>
		<item>
		<title>几个css技巧</title>
		<link>http://www.macji.com/2008/08/18/css-tips/</link>
		<comments>http://www.macji.com/2008/08/18/css-tips/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 11:03:14 +0000</pubDate>
		<dc:creator>Macji</dc:creator>
		
		<category><![CDATA[HTML/CSS/JS/PHP]]></category>

		<category><![CDATA[css]]></category>

		<guid isPermaLink="false">http://www.macji.com/?p=18</guid>
		<description><![CDATA[1.始终让firefox出现纵向滚动条
让我们的页面不够长的时候， firefox默认不会显示滚动条，只有当页面长度超过浏览器可显示的长度时，才会出现滚动条。那如何让firefox始终显示纵向滚动条呢？
... ]]></description>
			<content:encoded><![CDATA[<p>1.<strong>始终让firefox出现纵向滚动条</strong></p>
<p>让我们的页面不够长的时候， firefox默认不会显示滚动条，只有当页面长度超过浏览器可显示的长度时，才会出现滚动条。那如何让firefox始终显示纵向滚动条呢？</p>
<pre><code>
:root{
	overflow-y: scroll;
}
</code></pre>
<p>但这会使opera9.5出现横向滚动条。如果我们只想给我firefox出现纵向滚动条，那么我们用它的私有属性。</p>
<pre><code>
html{
	overflow:-moz-scrollbars-vertical;
}
</code></pre>
<p>始终让firefox出现纵向滚动条。<a target="_blank" href="http://developer.mozilla.org/en/docs/Mozilla_CSS_Extensions">更多firefox的私有属性</a></p>
<p>2.<strong>防止内容过多从而打乱固定宽度的布局</strong></p>
<p>最简单的布局，就是用float:left加上固定width，但有时容器里面的内容过多，会撑开宽度，打乱布局。</p>
<pre><code>
#main{
	overflow:hidden;
}
</code></pre>
<p>3.<strong>防止链接换行</strong></p>
<pre><code>
a{
	white-space:nowrap;
}
</code></pre>
<p>更多<a href="http://www.macji.com/tag/css/" class="st_tag internal_tag" rel="tag" title="标签 css 下的日志">css</a>技巧：<a href="http://www.cssglobe.com/post/1392/8-premium-one-line-css-tips">http://www.cssglobe.com/post/1392/8-premium-one-line-css-tips</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.macji.com/2008/08/18/css-tips/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
