<?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>南芝 - 我才12岁（飞鸟尽，良弓藏，2011，背包去旅行！） &#187; display:inline-block</title>
	<atom:link href="http://www.12sui.cn/tag/displayinline-block/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.12sui.cn</link>
	<description>南芝的前端技术学习经验</description>
	<lastBuildDate>Sun, 08 Jan 2012 09:22:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>display:inline-block</title>
		<link>http://www.12sui.cn/develop/displayinline-block/</link>
		<comments>http://www.12sui.cn/develop/displayinline-block/#comments</comments>
		<pubDate>Thu, 04 Sep 2008 07:16:45 +0000</pubDate>
		<dc:creator>南芝</dc:creator>
				<category><![CDATA[编码]]></category>
		<category><![CDATA[display:inline-block]]></category>

		<guid isPermaLink="false">http://www.12sui.cn/?p=138</guid>
		<description><![CDATA[原文地址：Let’s All Get Inline (In a Block, In a Block) 文章概要：display:inline-block 是一个经常用到的属性，它的意思就是将对象呈现为内联对象，然后对象的内容作为块对象。使用它我们可以轻松的使用 text-align 来将这些元素居中，如果使用 float，我们还不能很好的控制他们居中，因为毕竟我们还没有 float:center。但是这个属性在 ie8 以下和 Firefox 2 中却没有得到支持，Firefox 有一个类似的私有属性（-moz-inline-box）能够产生类似的效果，但是它却能带来一些 bug。 首先我们在支持 display:inline-block 的浏览器中（Opera、Safari、Firefox 3、IE 8）运行以下代码，看看会是什么样的效果？ HTML代码： &#60;div class=&#34;cols&#34;&#62; &#60;p&#62;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc commodo lorem ut justo.&#60;/p&#62; &#60;p&#62;Ut molestie libero quis massa elementum tristique. Aliquam erat volutpat.&#60;/p&#62; &#60;p [...]]]></description>
			<content:encoded><![CDATA[<p>原文地址：<a href="http://www.search-this.com/2008/08/28/lets-all-get-inline-in-a-block-in-a-block/">Let’s All Get Inline (In a Block, In a Block)</a></p>

<p>文章概要：display:inline-block 是一个经常用到的属性，它的意思就是将对象呈现为内联对象，然后对象的内容作为块对象。使用它我们可以轻松的使用 text-align 来将这些元素居中，如果使用 float，我们还不能很好的控制他们居中，因为毕竟我们还没有 float:center。但是这个属性在 ie8 以下和 Firefox 2 中却没有得到支持，Firefox 有一个类似的私有属性（-moz-inline-box）能够产生类似的效果，但是它却能带来一些 bug。</p>

<p>首先我们在支持 display:inline-block 的浏览器中（Opera、Safari、Firefox 3、IE 8）运行以下代码，看看会是什么样的效果？</p>

<p>HTML代码：</p>

<p><pre>&lt;div class=&quot;cols&quot;&gt;<br />
&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc commodo lorem ut justo.&lt;/p&gt;<br />
&lt;p&gt;Ut molestie libero quis massa elementum tristique. Aliquam erat volutpat.&lt;/p&gt;<br />
&lt;p class=&quot;last&quot;&gt;Duis purus diam, gravida et, mattis eget, semper ac, tellus. Suspendisse velit nunc, varius ut, pharetra malesuada, suscipit ut, lacus.&lt;/p&gt;<br />
&lt;/div&gt; </pre></p>

<p>CSS 代码：</p>

<p><pre>.cols{
width:44em;
margin :auto;
text-align:center;/* centers inline-blocks<em>/
border:1px solid #000;
padding:10px;
}
.cols p {
display:inline-block;/</em> FF3, Opera, Safari <em>/
width:12em;
margin:0 1em 0 0;/</em> need to remove top and bottom margin from p element<em>/
padding:0.5em;
border:1px solid #009;
vertical-align:bottom;/</em> align to bottom <em>/
background:#f00;
}
.cols p.last{margin:0}/</em> remove right margin from last element so that they are all centered*/ </pre></p>

<p>我们可以看到如下图所示的效果：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/09/1.png" alt="" /></p>

<p>那么，现在我们添加 Firefox 的私有属性后，在 Firefox 2 浏览器下看看是什么效果？</p>

<p><span id="more-138"></span></p>

<p>CSS 代码：</p>

<p><pre>.cols{
width:44em;
margin :auto;
text-align:center;/* centers inline-blocks<em>/
border:1px solid #000;
padding:10px;
}
.cols p {
display:-moz-inline-box;/</em> Firefox 2 and under<em>/
display:inline-block;/</em> FF3, Opera, Safari <em>/
width:12em;
margin:0 1em 0 0;/</em> need to remove top and bottom margin from p element<em>/
padding:0.5em;
border:1px solid #009;
vertical-align:bottom;/</em> align to bottom <em>/
background:#f00;
}
.cols p.last{margin:0}/</em> remove right margin from last element so that they are all centered*/ </pre></p>

<p>我们看到的是如下图所示的效果：</p>

<p><img src="http://www.12sui.cn/wp-content/uploads/2008/09/2.png" /></p>

<p>这时我们需要做的就是在其中另外添加一个盒子，让它撑起外边的盒子，看下该进后的代码：</p>

<p>HTML 代码：</p>

<p><pre>&lt;div class=&quot;cols&quot;&gt;<br />
&lt;div&gt;<br />
&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc commodo lorem ut justo.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div&gt;<br />
&lt;p&gt;Ut molestie libero quis massa elementum tristique. Aliquam erat volutpat.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div class=&quot;last&quot;&gt;<br />
&lt;p&gt;Duis purus diam, gravida et, mattis eget, semper ac, tellus. Suspendisse velit nunc, varius ut, pharetra malesuada, suscipit ut, lacus.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt; </pre></p>

<p>CSS 代码：</p>

<p><pre>.cols{
width:44em;
margin :auto;
text-align:center;/* centers inline-blocks<em>/
border:1px solid #000;
padding:10px;
}
.cols div {
display:-moz-inline-box;/</em> Firefox 2 and under<em>/
display:inline-block;/</em> FF3, Opera, Safari <em>/
width:12em;
margin:0 1em 0 0;/</em> need to remove top and bottom margin from p element<em>/
padding:0.5em;
border:1px solid #009;
vertical-align:bottom;/</em> align to bottom <em>/
background:#f00;
}
.cols div.last{margin:0}/</em> remove right margin from last element so that they are all centered*/
.cols div p{width:11em} </pre></p>

<p>这样子我们就解决了 Firefox 遗留下的 bug，但是在 IE8 以下的浏览器呢？原理就是触发 layout，然后使用 display:inline。有两种方法，一是首先使用 display:inline-block，然后使用 display:inline，一是使用 zoom:1.0。来看一下最终的代码把：</p>

<p>HTML 代码：</p>

<p><pre>&lt;!--[if lt IE 8]&gt;<br />
&lt;style type=&quot;text/css&quot;&gt;<br />
.cols div{display:inline}<br />
&lt;/style&gt;<br />
&lt;![endif]--&gt; <br />
&lt;div class=&quot;cols&quot;&gt;<br />
&lt;div&gt;<br />
&lt;p&gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc commodo lorem ut justo.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div&gt;<br />
&lt;p&gt;Ut molestie libero quis massa elementum tristique. Aliquam erat volutpat.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;div class=&quot;last&quot;&gt;<br />
&lt;p&gt;Duis purus diam, gravida et, mattis eget, semper ac, tellus. Suspendisse velit nunc, varius ut, pharetra malesuada, suscipit ut, lacus.&lt;/p&gt;<br />
&lt;/div&gt;<br />
&lt;/div&gt; </pre></p>

<p>CSS 代码：</p>

<p><pre>.cols{
width:44em;
margin :auto;
text-align:center;/* centers inline-blocks<em>/
border:1px solid #000;
padding:10px;
}
.cols div {
display:-moz-inline-box;/</em> Firefox 2 and under<em>/
display:inline-block;/</em> FF3, Opera, Safari <em>/
width:12em;
margin:0 1em 0 0;/</em> need to remove top and bottom margin from p element<em>/
padding:0.5em;
border:1px solid #009;
vertical-align:bottom;/</em> align to bottom <em>/
background:#f00;
}
.cols div.last{margin:0}/</em> remove right margin from last element so that they are all centered*/
.cols div p{width:11em} </pre></p>

<p>相关阅读：<a href="http://www.planabc.net/2008/04/08/cross_browser_support_for_inline-block_styling/">模拟兼容性的 inline-block 属性</a> <a href="http://www.planabc.net/2007/03/11/display_inline-block/">display:inline-block的深入理解 </a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.12sui.cn/develop/displayinline-block/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

