<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[inline-block - 99css]]></title><description><![CDATA[inline-block - 99css]]></description><link>https://www.99css.com/</link><image><url>https://www.99css.com/favicon.png</url><title>inline-block - 99css</title><link>https://www.99css.com/</link></image><generator>Ghost 3.21</generator><lastBuildDate>Thu, 21 May 2026 00:41:41 GMT</lastBuildDate><atom:link href="https://www.99css.com/tag/inline-block/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[YUI 3 Grids]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p><a href="http://developer.yahoo.com/yui/3/">YUI 3</a>的grids使用了inline-block，不过在实际使用中要注意两个小问题：</p>
<ol>
<li><a href="https://www.99css.com/299">IE6/7下划线对不齐bug</a></li>
<li>间隙问题，YUI是这么写的</li>
</ol>
<pre><code>.yui3-g {
    letter-spacing: -0.31em; /* webkit: collapse white-space between units */
    *letter-spacing: normal; /* reset IE &lt; 8 */
    word-spacing: -0.43em; /* IE &lt; 8 &amp;&amp; gecko: collapse white-space between units */
}
</code></pre>
<p>这个数值跟字体有关，之前<a href="https://www.99css.com/241">总结过</a></p>
<p>不过每次都跟字体来调有些麻烦，写为-.5em或者更大就可以一劳永逸了</p>
<pre><code>.yui3-g {
    letter-spacing: -.5em; /* webkit: collapse white-space between</code></pre>]]></description><link>https://www.99css.com/690/</link><guid isPermaLink="false">6983728c0b74c7000133ae98</guid><category><![CDATA[inline-block]]></category><dc:creator><![CDATA[ytzong]]></dc:creator><pubDate>Thu, 04 Nov 2010 11:20:34 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p><a href="http://developer.yahoo.com/yui/3/">YUI 3</a>的grids使用了inline-block，不过在实际使用中要注意两个小问题：</p>
<ol>
<li><a href="https://www.99css.com/299">IE6/7下划线对不齐bug</a></li>
<li>间隙问题，YUI是这么写的</li>
</ol>
<pre><code>.yui3-g {
    letter-spacing: -0.31em; /* webkit: collapse white-space between units */
    *letter-spacing: normal; /* reset IE &lt; 8 */
    word-spacing: -0.43em; /* IE &lt; 8 &amp;&amp; gecko: collapse white-space between units */
}
</code></pre>
<p>这个数值跟字体有关，之前<a href="https://www.99css.com/241">总结过</a></p>
<p>不过每次都跟字体来调有些麻烦，写为-.5em或者更大就可以一劳永逸了</p>
<pre><code>.yui3-g {
    letter-spacing: -.5em; /* webkit: collapse white-space between units */
    *letter-spacing: normal; /* reset IE &lt; 8 */
    word-spacing: -.5em; /* IE &lt; 8 &amp;&amp; gecko: collapse white-space between units */
}
</code></pre>
<p>——- 2013-4-26 更新 ——-<br>
因最新版的 Chrome 已经支持 font-size:0，故可以用 font-size:0 来去除间距</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[IE6/7下划线对不齐bug]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>这篇帖子《<a href="http://bbs.blueidea.com/viewthread.php?tid=2878142">关于IE下英文字体跟中文字体不能对齐的根源以及解决办法</a>》说的已经很详细了，不过不止中英文混合才会出现这个bug，比如《<a href="http://stackoverflow.com/questions/1056013/internet-explorer-broken-underlines">Internet Explorer: Broken Underlines</a>》。</p>
<p>解决方法一般有以下几种：</p>
<ol>
<li>对下划线元素使用宋体，缺点是宋体的英文数字比较难看，我个人也比较鄙视这种做法</li>
<li>触发下划线元素的hasLayout，缺点是inline元素会变成inline-block元素，折行时会整块掉下来</li>
<li>使下划线元素浮动，缺点是inline元素变成block元素，而且还要清除浮动</li>
<li>去除下划线元素相邻元素（相邻元素的子元素或父元素等等）的vertical-align（或重写为baseline），垂直居中用position:relative结合top来实现</li>
</ol>
<p>在使用inline-block元素做sprite容器时经常会遇到这个问题，2、4是比较好的方案，记得要分清楚使用场合哦~</p>
<p>当然IE6下还会出现行高失效bug，old9给出了一种方法《<a href="http://old9.blogsome.com/2009/04/17/a-fix-to-the-ie6-line-height-replaced-element-bug/">A fix to the IE6 line-height/replaced element bug</a>》，不过在某些追求精确到像素的情况下还是用PIE的方法《<a href="http://www.positioniseverything.net/explorer/lineheightbug.html">Microsoft Internet Explorer 6: Line-height / Replaced Element Bug</a>》比较好。</p>]]></description><link>https://www.99css.com/299/</link><guid isPermaLink="false">6983728c0b74c7000133ae79</guid><category><![CDATA[Bug]]></category><category><![CDATA[CSS]]></category><category><![CDATA[inline-block]]></category><dc:creator><![CDATA[ytzong]]></dc:creator><pubDate>Fri, 05 Feb 2010 23:26:42 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>这篇帖子《<a href="http://bbs.blueidea.com/viewthread.php?tid=2878142">关于IE下英文字体跟中文字体不能对齐的根源以及解决办法</a>》说的已经很详细了，不过不止中英文混合才会出现这个bug，比如《<a href="http://stackoverflow.com/questions/1056013/internet-explorer-broken-underlines">Internet Explorer: Broken Underlines</a>》。</p>
<p>解决方法一般有以下几种：</p>
<ol>
<li>对下划线元素使用宋体，缺点是宋体的英文数字比较难看，我个人也比较鄙视这种做法</li>
<li>触发下划线元素的hasLayout，缺点是inline元素会变成inline-block元素，折行时会整块掉下来</li>
<li>使下划线元素浮动，缺点是inline元素变成block元素，而且还要清除浮动</li>
<li>去除下划线元素相邻元素（相邻元素的子元素或父元素等等）的vertical-align（或重写为baseline），垂直居中用position:relative结合top来实现</li>
</ol>
<p>在使用inline-block元素做sprite容器时经常会遇到这个问题，2、4是比较好的方案，记得要分清楚使用场合哦~</p>
<p>当然IE6下还会出现行高失效bug，old9给出了一种方法《<a href="http://old9.blogsome.com/2009/04/17/a-fix-to-the-ie6-line-height-replaced-element-bug/">A fix to the IE6 line-height/replaced element bug</a>》，不过在某些追求精确到像素的情况下还是用PIE的方法《<a href="http://www.positioniseverything.net/explorer/lineheightbug.html">Microsoft Internet Explorer 6: Line-height / Replaced Element Bug</a>》比较好。</p>
<p>另外，使用vertical-align:middle来垂直居中在各浏览器中差异也比较大，使用时需谨慎，而用数值则好多了，推荐阅读old9的《<a href="http://old9.blogsome.com/2005/03/19/csstdg07/">CSSTDG读书笔记七</a>》</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[用display:inline-block做产品列表]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p>由于D2的关系看到这篇文章《<a href="http://fuhei.net/2008/12/how-to-build-a-product-list/">[纯技]产品列表到底应该怎么做？</a>》，评论发不成功，又恰逢最近频繁遇到类似的项目，总结如下：</p>
<p>传统的实现方式是用float来实现，换一种思路用display:inline-block，比如这篇《<a href="http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/">Cross-Browser Inline-Block</a>》（<a href="http://www.qianduan.net/cross-browser-inline-block.html">中文翻译</a>）。在Firefox/Safari/Chrome/IE8中会遇到《<a href="https://www.99css.com/23">说说display:inline-block</a>》提到的第一个空隙问题，不过现在已经有了解决方法（详见<a href="http://www.qianduan.net/firefox-bug-inline-inline-block-gap.html#comment-4022">《Firefox Bug: inline/inline-block的间隙》的评论</a>并略作改进）：</p>
<pre><code>ul{letter-spacing:-.25em} 
li{letter-spacing:normal;}
</code></pre>
<p>同时我也尝试了《<a href="http://www.splashnology.com/blog/css/269.html">Layout of repeating blocks</a>》提到的word-spacing，不过仅Firefox/IE8有效，而在Chrome/Safari中无效</p>
<p>另外要注意的是**-.25em**是字体设置为Arial时的情况，为其他字体时会有些不同，</p>]]></description><link>https://www.99css.com/241/</link><guid isPermaLink="false">6983728c0b74c7000133ae74</guid><category><![CDATA[Bug]]></category><category><![CDATA[CSS]]></category><category><![CDATA[inline-block]]></category><dc:creator><![CDATA[ytzong]]></dc:creator><pubDate>Sat, 19 Dec 2009 19:03:37 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p>由于D2的关系看到这篇文章《<a href="http://fuhei.net/2008/12/how-to-build-a-product-list/">[纯技]产品列表到底应该怎么做？</a>》，评论发不成功，又恰逢最近频繁遇到类似的项目，总结如下：</p>
<p>传统的实现方式是用float来实现，换一种思路用display:inline-block，比如这篇《<a href="http://blog.mozilla.com/webdev/2009/02/20/cross-browser-inline-block/">Cross-Browser Inline-Block</a>》（<a href="http://www.qianduan.net/cross-browser-inline-block.html">中文翻译</a>）。在Firefox/Safari/Chrome/IE8中会遇到《<a href="https://www.99css.com/23">说说display:inline-block</a>》提到的第一个空隙问题，不过现在已经有了解决方法（详见<a href="http://www.qianduan.net/firefox-bug-inline-inline-block-gap.html#comment-4022">《Firefox Bug: inline/inline-block的间隙》的评论</a>并略作改进）：</p>
<pre><code>ul{letter-spacing:-.25em} 
li{letter-spacing:normal;}
</code></pre>
<p>同时我也尝试了《<a href="http://www.splashnology.com/blog/css/269.html">Layout of repeating blocks</a>》提到的word-spacing，不过仅Firefox/IE8有效，而在Chrome/Safari中无效</p>
<p>另外要注意的是**-.25em**是字体设置为Arial时的情况，为其他字体时会有些不同，下面仅列出了常用的几个</p>
<table cellpadding="0"><caption>常用字体与letter-spacing的关系</caption><tbody><tr><th>宋体/Verdana</th><td>-.5em</td></tr><tr><th>Arial</th><td>-.25em</td></tr><tr><th>Tahoma</th><td>-.333em</td></tr></tbody></table>
<p>于是<code>display:inline-block</code>加上<code>vertical-align</code>就OK鸟</p>
<pre><code>ul{letter-spacing:-.25em}
li{display:inline-block;#display:inline;#zoom:1;letter-spacing:normal;vertical-align:top;}
</code></pre>
<p>如果li中只有img，<code>vertical-align:middle</code>可以实现未知高度图片<strong>列表</strong>垂直居中，比如Picasa图片列表的效果（单个图片垂直居中请看怿飞的《<a href="http://www.planabc.net/2008/05/26/img_vertical_center_solution/">图片垂直居中的使用技巧</a>》<del datetime="2010-03-23T06:10:11+00:00">，不过个人认为这个通常只会出现在面试题中:P</del>）</p>
<p>——- 2013-4-26 更新 ——-<br>
因最新版的 Chrome 已经支持 <code>font-size:0</code>，故可以用 <code>font-size:0</code> 来去除间距</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[自适应圆角]]></title><description><![CDATA[<!--kg-card-begin: markdown--><h3 id>前言</h3>
<p>有时候我们不得不面对圆角，也很傻很天真的认为利用 CSS3 的新特性对浏览器分级支持是最好解决方案，但现实≠理想…</p>
<h3 id>需求</h3>
<ol>
<li>3px 圆角</li>
<li>宽度自适应（随着文字字数扩展宽度并自动换行）</li>
<li>换肤</li>
<li>不使用图片（对可维护性/性能均有影响）</li>
</ol>
<h3 id>困惑</h3>
<p>经典的解决方案看起来像这样：</p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;title&gt;传统方案及bug&lt;/title&gt;
&lt;</code></pre>]]></description><link>https://www.99css.com/146/</link><guid isPermaLink="false">6983728c0b74c7000133ae6d</guid><category><![CDATA[CSS]]></category><category><![CDATA[inline-block]]></category><dc:creator><![CDATA[ytzong]]></dc:creator><pubDate>Sat, 14 Nov 2009 23:43:37 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><h3 id>前言</h3>
<p>有时候我们不得不面对圆角，也很傻很天真的认为利用 CSS3 的新特性对浏览器分级支持是最好解决方案，但现实≠理想…</p>
<h3 id>需求</h3>
<ol>
<li>3px 圆角</li>
<li>宽度自适应（随着文字字数扩展宽度并自动换行）</li>
<li>换肤</li>
<li>不使用图片（对可维护性/性能均有影响）</li>
</ol>
<h3 id>困惑</h3>
<p>经典的解决方案看起来像这样：</p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
&lt;meta content=&quot;text/html; charset=utf-8&quot; http-equiv=&quot;Content-Type&quot; /&gt;
&lt;title&gt;传统方案及bug&lt;/title&gt;
&lt;style&gt;
body{margin:100px;background-color:red;}
div, p, b{margin:0;padding:0;}
b{display:block;}
.rc{display:inline-block;#display:inline;#zoom:1;}
/* float 效果相同
.rc{float:left;} */
.rc1, .rc2, .rc .bd{border-style:solid;border-color:black;background-color:yellow;}
.rc1, .rc2{height:1px;overflow:hidden;}
.rc2, .rc .bd{border-width:0 1px;}
.rc1{margin:0 2px;height:0;border-width:1px 0 0;}
.rc2{margin:0 1px;}
.rc .bd{padding:0 6px;line-height:1.5;}
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div class=&quot;rc&quot;&gt;
    &lt;b class=&quot;top&quot;&gt;&lt;b class=&quot;rc1&quot;&gt;&lt;/b&gt;&lt;b class=&quot;rc2&quot;&gt;&lt;/b&gt;&lt;/b&gt;
    &lt;div class=&quot;bd&quot;&gt;
        &lt;p&gt;FML!!!&lt;/p&gt;
    &lt;/div&gt;
    &lt;b class=&quot;bottom&quot;&gt;&lt;b class=&quot;rc2&quot;&gt;&lt;/b&gt;&lt;b class=&quot;rc1&quot;&gt;&lt;/b&gt;&lt;/b&gt;
&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
</code></pre>
<p>使 rc float: left 或 display: inline-block 或许能满足需求，不过 IE 6&amp;7 出现 bug：IE6中依然显示为dispaly:block，而IE7中top 和 bottom缩成一坨，不肯扩展开来，而在 rc1/rc2/rc3 中插入文字</p>
<pre><code>&lt;b class=&quot;rc1&quot;&gt;XXX&lt;/b&gt;
</code></pre>
<p>则只能扩展到文字XXX的宽度，无法与 bd 对齐！<br>
如果你能搞定，麻烦留言告诉我一下 <img src="http://localhost/wordpress/wp-includes/images/smilies/icon_smile.gif" alt=":)"></p>
<h3 id>解决</h3>
<p>试了几个方法均不通，也搜索不到这个 bug，这时想到了 Google 系产品的 1px 圆角按钮：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419173463/File-id_ddrrtxb_1759gcvgcvct_b_tbdyrk.png" alt></p>
<p>这是前 Google 视觉设计师 Doug Bowman 的功劳，后转会到Twitter（AD一下：<a href="http://twitter.com/ytzong">@ytzong</a>），Doug Bowman 为此写过一篇博文《<a href="http://stopdesign.com/archive/2009/02/04/recreating-the-button.html">Recreating the button</a>》 <a href="http://stopdesign.com/eg/buttons/3.0/code.html">demo</a>在此。不过demo 也仅仅是 demo，产品中使用的还是某对天才工程师夫妇的神作，他们有<strong>足够的时间</strong>来做这项工作：</p>
<blockquote>
<p>The magical inline-block solved everything, <strong>except in IE</strong>. That’s where the genius of Google engineers came in. They knew how to get tricks working in all browsers, and this technique interested a couple of them enough that they dedicated the time to make it work.</p>
</blockquote>
<p>打开 Gmail，用 firebug 艹艹看了一下，心里暗骂一句：天才就是天才！<br>
写了个简单的 demo（为了演示方便这里采用了盒谐的颜色）：</p>
<pre><code>&lt;!DOCTYPE html&gt;
&lt;html&gt;

&lt;head&gt;
&lt;meta charset=&quot;utf-8&quot;&gt;
&lt;title&gt;自适应圆角&lt;/title&gt;
&lt;style&gt;
body{margin:100px;background-color:red;}
div, p{margin:0;padding:0;}
.div1, .div2, .div3{display:inline-block;#display:inline;#zoom:1;position:relative;border-style:solid;border-color:black;}
.div1{border-width:1px;}
.div2, .div3{#left:-2px;border-width:0 1px;background-color:yellow;}
.div2{margin:0 -2px;}
.div3{margin:1px -2px;padding:0 6px;line-height:1.5;}
.arrow1, .arrow2{position:absolute;top:7px;width:0;height:0;overflow:hidden;border-top:6px transparent dotted;border-bottom:6px transparent dotted;}
.arrow1{left:-9px;border-right:6px black solid;}
.arrow2{left:-8px;border-right:6px yellow solid;}
&lt;/style&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;div class=&quot;div1&quot;&gt;
    &lt;div class=&quot;div2&quot;&gt;
        &lt;div class=&quot;div3&quot;&gt;
            &lt;p&gt;FML!!!&lt;/p&gt;
        &lt;/div&gt;
    &lt;/div&gt;
    &lt;div class=&quot;arrow1&quot;&gt;&lt;/div&gt;
    &lt;div class=&quot;arrow2&quot;&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
</code></pre>
<p>效果如下：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419173463/File-id_ddrrtxb_1760dd6rk5cc_b_ngssoj.png" alt></p>
<p>不仅满足了需求，代码量及结构嵌套也很少。</p>
<h3 id>代码说明</h3>
<ol>
<li>div1 实现上下两条边，div2 实现 2px 圆角处的 4个点（一般人只有3点），div3 实现左右两条边，div1 设置左右边框的原因是避免IE 6&amp;7 中的一个盒模型的小 bug，有兴趣研究的话可去掉左右边框看下效果</li>
<li>arrow1 实现小三角的边框，arrow2 实现小三角的背景，此处利用了 border 来模拟小三角，这其中会遇到<a href="https://www.99css.com/15">IE 6 的边框不透明 bug</a>。另外，你也可以看看<a href="http://oocss.org/talk.html">oocss的写法</a></li>
<li>宽度自适应利用的是 <a href="https://www.99css.com/23">display: inline-block</a>，注意IE 6&amp;7 中的处理方式</li>
<li>
<h1 id="left2pxie67hackexpressionwebcssie67marginleftbugpositionrelativeleft2px">left:-2px 之前的 # 为 IE 6&amp;7 hack，多写为*，这里用#一是表明偶的与众不同，二是微软的 Expression Web格式化 CSS 的时候若{}中出现*则会把代码搞乱，此处 IE 6&amp;7 中出现了 margin-left 负值无效的 bug ，通过 position:relative 加 left: -2px 实现</h1>
</li>
</ol>
<p>可以看出：IE 6&amp;7 bug 众多的特点在此例中表现的淋漓尽致！</p>
<h3 id>最后的话</h3>
<p>阮一峰老师也写过一篇《<a href="http://www.ruanyifeng.com/blog/2009/03/creating_gmail-like_buttons.html">制作Gmail式按钮</a>》，配合强大的 jquery 来实现按钮各种状态，最后的总结也很精彩，修改一下下：</p>
<blockquote>
<p>虽然这种<span style="text-decoration: line-through;">按钮</span>（圆角）的视觉效果比较理想，有很多设计上的优点，但是局限性也很大。<span style="text-decoration: line-through;">一方面，</span>它需要大量的冗余代码，与语义网的原则相违背…</p>
</blockquote>
<p>完美方案还是利用浏览器的自身特性提供对不同的浏览器分级支持，渐进增强（比如 IE 下显示为直角，对CSS 3支持较好的浏览器显示为圆角），这才是开发效率、可维护性、语义、性能的最佳平衡。</p>
<!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[说说display:inline-block]]></title><description><![CDATA[<!--kg-card-begin: markdown--><p><strong>前言：</strong></p>
<p>Firefox 3发布后，我开始肆无忌惮的使用inline-blcok…</p>
<p><strong>基本用法：</strong></p>
<ol>
<li>inline元素的inline-block： <code>span{displsy:inline-blcok;}</code></li>
<li>block元素的inline-block： <code>div{displsy:inline-blcok;#displsy:inline;#zoom:1;}</code></li>
</ol>
<h1 id="ie67hack">开头的为针对IE6/7的hack，多数人用*，用*的话我使用的格式化工具会出错。</h1>
<p><strong>遇到的几个问题：</strong></p>
<ol>
<li>**代码格式化对间距的影响：**HTML：</li>
</ol>
<pre><code>&lt;ul&gt;
    &lt;li class=&quot;current&quot;&gt;1&lt;/li&gt;
    &lt;li&gt;2&lt;/li&gt;
    &lt;li&gt;3&</code></pre>]]></description><link>https://www.99css.com/23/</link><guid isPermaLink="false">6983728c0b74c7000133ae4d</guid><category><![CDATA[Bug]]></category><category><![CDATA[CSS]]></category><category><![CDATA[inline-block]]></category><dc:creator><![CDATA[ytzong]]></dc:creator><pubDate>Thu, 16 Apr 2009 16:44:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><p><strong>前言：</strong></p>
<p>Firefox 3发布后，我开始肆无忌惮的使用inline-blcok…</p>
<p><strong>基本用法：</strong></p>
<ol>
<li>inline元素的inline-block： <code>span{displsy:inline-blcok;}</code></li>
<li>block元素的inline-block： <code>div{displsy:inline-blcok;#displsy:inline;#zoom:1;}</code></li>
</ol>
<h1 id="ie67hack">开头的为针对IE6/7的hack，多数人用*，用*的话我使用的格式化工具会出错。</h1>
<p><strong>遇到的几个问题：</strong></p>
<ol>
<li>**代码格式化对间距的影响：**HTML：</li>
</ol>
<pre><code>&lt;ul&gt;
    &lt;li class=&quot;current&quot;&gt;1&lt;/li&gt;
    &lt;li&gt;2&lt;/li&gt;
    &lt;li&gt;3&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<p>注意代码的缩进为4个空格</p>
<p>CSS：</p>
<pre><code>/*请自行引入YUI reset*/
body{margin:10px;font-size:12px;font-family:Tahoma, Arial, Helvetica, sans-serif;}
li{display:inline-block;#display:inline;#zoom:1;padding:1px 5px;border:1px #ccc solid;background-color:black;cursor:pointer;color:white;}
li.current{background-color:#c31909;}
</code></pre>
<p>以下为IE 6/7/8显示效果（Firefox 3/Safari 4/Chrome 2同IE8）：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419171015/File-id_ddrrtxb_989cc2gpvc2_b_cfxwym.png" alt></p>
<p>可见除IE6/7外的浏览器的li之间有4px的间隔。</p>
<p>HTML将缩进去除则正常：</p>
<pre><code>&lt;ul&gt;
&lt;li class=&quot;current&quot;&gt;1&lt;/li&gt;&lt;li&gt;2&lt;/li&gt;&lt;li&gt;3&lt;/li&gt;
&lt;/ul&gt;
</code></pre>
<p>以下为IE 6/7/8显示效果（Firefox 3/Safari 4/Chrome 2同IE8）：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419171016/File-id_ddrrtxb_990hc72fwdr_b_uw9vyv.png" alt></p>
<p>由此分析，这4px可理解为一个空格。</p>
<p>当然，我们的HTML代码是给人看的，加上编辑器有格式化代码工具，缩进不能去除，而且在实际应用中li之间往往有一定的间距，所以我的做法是顺水推舟，仅对IE<br>
6/7 hack：</p>
<pre><code>li{#margin-right:4px;}
</code></pre>
<ol start="2">
<li>**overflow引起Firefox 3 bug：**HTML：</li>
</ol>
<p><code>&lt;a href=&quot;#&quot;&gt;订阅&lt;/a&gt;</code></p>
<p>CSS：</p>
<pre><code>/*请自行引入YUI reset*/
body{margin:10px;font-size:12px;font-family:Tahoma, Arial, Helvetica, sans-serif;}
a{display:inline-block;width:3.5em;padding:3px 0;background-color:red;font-weight:bold;text-decoration:none;text-align:center;color:white;}
a:hover{color:black;}
</code></pre>
<p>以下为IE 6/7/8显示效果（Firefox 3/Safari 4/Chrome 2同IE<strong>6</strong>）：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419171016/File-id_ddrrtxb_991gkk34khj_b_ojuv9h.png" alt></p>
<p>IE 7/8 的padding有点小问题，不过基本可以忽略。</p>
<p>如果给a加上overflow:hidden（此处的overflow:hidden没有必要，仅为演示使用）</p>
<pre><code>/*请自行引入YUI reset*/
body{margin:10px;font-size:12px;font-family:Tahoma, Arial, Helvetica, sans-serif;}
a{display:inline-block;width:3.5em;&lt;strong&gt;overflow:hidden;&lt;/strong&gt;padding:3px 0;background-color:red;font-weight:bold;text-decoration:none;text-align:center;color:white;}
a:hover{color:black;}
</code></pre>
<p>Firefox 3显示效果：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419171016/File-id_ddrrtxb_992kkphc4cf_b_ugezwj.png" alt></p>
<p>text-align:center失效！其余浏览器皆正常（这里有个小插曲，开始我误以为是td中的inline-block元素不能居中，后来发现是overflow:hidden的问题），经测试overflow:auto也会出现此问题，不过这个更少用到。<br>
3. **IE 6的line-height失效：**HTML：</p>
<p><code>&lt;p&gt;欢迎使用&lt;span&gt;&lt;/span&gt;飞信&lt;/p&gt;</code></p>
<p>CSS：</p>
<pre><code>/*请自行引入YUI reset*/
body{margin:10px;font-size:12px;font-family:Tahoma, Arial, Helvetica, sans-serif;}
p{background-color:yellow;line-height:5;}
span{display:inline-block;width:16px;height:16px;background-image:url('http://images.n20svrg.139.com/simple2008/coremail/images/simple_icons.png');background-repeat:no-repeat;background-position:-500px -50px;vertical-align:middle;}
</code></pre>
<p>以下为IE 6/7/8显示效果（Firefox 3/Safari 4/Chrome 2同IE8）：</p>
<p><img src="http://res.cloudinary.com/for99css/image/upload/v1419171016/File-id_ddrrtxb_993fv7sw4gm_b_dhfsod.png" alt></p>
<p>未找到根治方法，可变通一下用padding解决：</p>
<p><code>p{background-color:yellow;padding:2em 0;}</code></p>
<p><strong>总结：</strong></p>
<p>即便如此，我还是会继续使用下去-:P</p>
<!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>