<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[清除浮动代码--bond,及cntv的兄弟的一个清浮动的情况。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Thu, 17 Jun 2010 04:39:58 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	腾讯bond兄弟的建议：<br/><div class="code">.clear-class:after&#123;content:&quot;.&quot;;display:block;height:0;clear:both;visibility:hidden;&#125;<br/>.clear-class&#123;zoom:1;display:block;&#125;</div><br/><div class="code">&lt;ul class=&quot;clear-class txt&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li class=&quot;liclass&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/li&gt;&nbsp;&nbsp;<br/>&lt;/ul&gt;</div><br/><br/>&lt;div class=&quot;txt&quot;&gt;<br/>翻页代码 1，2，3...下一页<br/>&lt;/div&gt;<br/>++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++<br/>cntv的页面构建师,在每一个行（一行里如有6个图，图下有文字）加上一个清浮动的Div【&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;】，这个clear对应清浮动的样式如下：<br/><div class="code"><br/>.clear&#123;clear:both;overflow:hidden;display:block;height:0;font-size:0;&#125;<br/></div><br/>---------------------------------------------------------------------------------------------------------------------------------------------<br/>float 是 css 的定位属性。在传统的印刷布局中，文本可以按照需要围绕图片。一般把这种方式称为“文本环绕”。在网页设计中，应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图片一样。浮动的元素仍然是网页流的一部分。这与使用绝对 定位的页面元素相比是一个明显的不同。绝对定位的页面元素被从网页流里面移除了，就像印刷布局里面的文本框被设置为无视页面环绕一样。绝对定位的元素不会 影响其它元素，其它元素也不会影响它，无论它是否和其它元素挨着。<br/><br/>印刷布局中的“文本框被设置为无视页面环绕”指的是文本框的内容不会受到页面其他元素的影响，也不会在页面中自动换行。这种设置通常用在一些特殊的排版需求中，比如表格、图表或者注释。<br/><br/>印刷布局里面的文本框被设置为无视页面环绕，这话怎么理解，请解释下它后面的背景知识：<br/>背景知识<br/>页面环绕：在印刷排版中，文本内容会根据页面的边界、图像、表格等元素进行自动换行和调整，以使内容能够适应页面的布局。这种机制被称为“页面环绕”或“文本环绕”。<br/>无视页面环绕：当文本框被设置为无视页面环绕时，它的内容将会保持在一个单独的框内，不会因为页面边界或者其他元素的存在而进行换行或调整。这通常用于需要精确控制内容布局的场景，比如：<br/>表格：表格的每一行和每一列都需要精确对齐，不能因为页面的边界而改变其结构。<br/>图表：图表中的数据和图形需要保持固定的相对位置，避免因为页面布局变化而影响其显示效果。<br/>注释：注释内容有时需要放在特定的位置，以便读者能够轻松找到和理解。<br/><br/><br/>像这样在一个元素上用CSS设置浮动：<br/><br/>#sidebar &#123; float: right; &#125;<br/>fload属性有四个可用的值：Left 和Right 分别浮动元素到各自的方向，None (默认的) 使元素不浮动，Inherit 将会从父级元素获取float值。<br/><br/>清除Float<br/>清除(clear)是浮动(float)的相关属性.一个设置了清除Float的元素不会如浮动所设置的一样，向上移动到Float元素的边界，而是会忽视浮动向下移动。如下，一图顶千言。<br/>上例中，侧栏向右浮动，并且短于主内容区域。页脚(footer)于是按浮动所要求的向上跳到了可能的空间。要解决这个问题，可以在页脚(footer)上清除浮动，以使页脚(footer)待在浮动元素的下面。<br/>#footer &#123; clear: both; &#125;<br/>清除(clear)也有4个可能值。最常用的是 both，清楚左右两边的浮动。left 和 right 只能清楚一个方向的浮动。none 是默认值，只在需要移除已指定的清除值时用到。inherit 应该时第五个值，不过很奇怪的是 IE 不支持(这个不奇怪吧，IE 从来都这么特立独行吧 －糖伴西红柿注)。只清除左边或右边的浮动，实际中很少见，不过绝对有他们的用处。<br/><br/><br/>http://www.cnblogs.com/zhujl/archive/2012/05/08/2489440.html<br/>http://paranimage.com/css-float-attribute/<br/>使用浮动(float)的一个比较疑惑的事情是他们怎么影响包含他们的父元素的。如果父元素只包含浮动元素，那么它的高度就会塌缩为零。如果父元素不包含任何的可见背景，这个问题会很难被注意到，但是这是一个很重要的问题<br/>估计Bond的来源摘录（http://paranimage.com/css-float-attribute/）：<br/>简单清除方法使用了一个聪明的 css 伪选择符(:after)来清除浮动。比起在父元素上设置 overflow，只需要给它增加一个额外的类似于”clearfix”的类。这个类使用如下 css:<br/>.clearfix:after &#123;<br/>&nbsp;&nbsp;content: &quot;.&quot;;<br/>&nbsp;&nbsp;visibility: hidden;<br/>&nbsp;&nbsp;display: block;<br/>&nbsp;&nbsp;height: 0;<br/>&nbsp;&nbsp;clear: both;<br/>&#125;<br/>这会在清除浮动的父元素之后应用一点看不见的内容。这不是全部内容，还需要一些额外的代码来适应那些老旧的浏览器。<br/>-------------------------------------------------------------------------------------------------------------<br/><br/>INTRO: 在写页面的过程中经常要遇到清除浮动的情况，这里总结了一下几种常用的清楚浮动的方法。<br/>CATEGORY: 网站前端<br/>TAGS: clear, css<br/>在使用float进行页面布局时，经常遇到有需要清除浮动的地方。通常情况下，只需要在下一个元素上添加clear样式，就可以达到清除浮动的效果了。<br/><br/>clear:left – 清除所有向左的浮动；<br/>clear:right – 清除所有向右的浮动；<br/>clear:both – 清除所有浮动；<br/>clear:none – (默认)不清除浮动。<br/><br/>但是这种方式使得元素样式有一点乱，在以后进行页面修改时，会找不到在哪个元素清了浮动；或者在添加了一些元素以后，原有的冗余样式没有清理。<br/><br/>所以比较简单的办法是设一个clear样式：<br/>.clear&#123;clear:both;&#125;<br/>在需要清除浮动的元素上统一加上clear类，这样以后在修改代码时比较容易看到是哪些元素上使用了清除浮动。<br/><br/>对于一般的情况，这样也就足够了，但是总有一些特殊的时候。<br/><br/>这样一个例子：<br/>&lt;div id=&quot;content&quot;&gt;<br/>&nbsp;&nbsp;&lt;div class=&quot;box&quot;&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;left&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div class=&quot;right&quot;&gt;&lt;/div&gt;<br/>&nbsp;&nbsp;&lt;/div&gt;<br/>&lt;/div&gt;<br/>&lt;div id=&quot;sidebar&quot;&gt;&lt;/div&gt;<br/>这种情况下，如果在下一个元素上清浮动，就得在id为sidebar的div上加clear了，这样有些脱离了原本清除浮动的语义。是类名为box的div需要清除浮动，而不是id名为content的div需要清浮动。为了还原clear的本意。这里需要在类名为right的div后面加一个无意义元素。<br/><br/>如&lt;p class=”clear”&gt;&lt;/p&gt;<br/><br/>这么做的缺点也很明显，就是使得页面的html结构中多了一个无意义的元素p。<br/><br/>为了避免这种情况，这里还有两种新的清除浮动的方法。<br/><br/>方法一：利用overflow属性达到清除浮动的效果。<br/><br/>在需要清除浮动的元素，这里的例子中需要清浮动的元素是类名为box的div元素，给这个元素加上以下CSS语句。<br/>.box&#123;<br/>overflow:auto;<br/>zoom:1;<br/>&#125;<br/>方法二：利用:after伪类来清除浮动。<br/><br/>新建一个类，取名为clearboth，在需要清除浮动的元素上使用。修改例子中的html代码：<br/>1<br/>&lt;div class=&quot;box clearboth&quot;&gt;<br/>.clearboth:after &#123;content: &quot;&quot;;display: block;height: 0;clear: both;&#125;<br/>.clearboth &#123; *zoom : 1; &#125; // for IE 6.<br/><br/>我写的测试代码：<br/><textarea name="code" class="php" rows="15" cols="100">
&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; &quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;
&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot;&gt;
&lt;head&gt;
&lt;!--
&nbsp;&nbsp;&nbsp;&nbsp;&lt;script src=&quot;http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js&quot;&gt;&lt;/script&gt;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;script&gt;!window.jQuery &amp;&amp; document.write(&#039;&lt;script src=&quot;js/jquery-1.4.2.min.js&quot;&gt;&lt;&#92;/script&gt;&#039;)&nbsp;&nbsp;&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;&lt;/script&gt;&nbsp;&nbsp;
--&gt;
&lt;style type=&quot;text/css&quot;&gt;
.clear-class:after&#123;content:&quot;.&quot;;display:block;height:0;clear:both;visibility:hidden;&#125;
.clear-class&#123;zoom:1;display:block;&#125;
&lt;/style&gt;

&lt;script type=&quot;text/javascript&quot;&gt;

&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&nbsp;&nbsp;&lt;div style=&quot;background:#666;&quot; class=&quot;clear-class&quot; &gt; &lt;!-- float container --&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;div style=&quot;float:left; width:30%; height:40px;background:#EEE; &quot;&gt;Some Content&lt;/div&gt;
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&lt;div style=&quot;clear:both&quot;&gt;&lt;/div&gt;--&gt;
&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;


</textarea><br/><br/>++++++++++++++++++以下说得很详细很有操作性+++++++++++++++++++++++++++++<br/>自己对下面这一段做实践Ok的再次体会，为此也贴上：http://blog.csdn.net/cjxtfxs/article/details/6328185<br/>在CSS中我们会经常要用到“清除浮动”Clear，比较典型的就是clear:both;<br/><br/>CSS手册上是这样说明的：该属性的值指出了不允许有浮动对象的边。这个属性是用来控制float属性在文档流的物理位置的。 <br/><br/>当属性设置float（浮动）时，其所在的物理位置已经脱离文档流了，但是大多时候我们希望文档流能识别float（浮动），或者是希望float（浮动）后面的元素不被float（浮动）所影响，这个时候我们就需要用clear:both;来清除。<br/><br/>比如：<br/><br/>&lt;p style=&quot;float:left;width:200px;&quot;&gt;这个是第1列，&lt;/p&gt; <br/>&lt;p style=&quot;float:right;width:400px;&quot;&gt;这个是第2列，&lt;/p&gt; <br/>&lt;p&gt;这个是第3列。&lt;/p&gt;<br/><br/>如果不用清除浮动，那么第3列文字就会和第1、2列文字在一起 ，所以我们在第3个这列加一个清除浮动 clear:both;<br/>&lt;p style=&quot;float:left;width:200px;&quot;&gt;这个是第1列，&lt;/p&gt; <br/>&lt;p style=&quot;float:left;width:400px;&quot;&gt;这个是第2列，&lt;/p&gt; <br/>&lt;p style=&quot;clear:left;&quot;&gt;这个是第3列。&lt;/p&gt; <br/>通常，我们往往会将“清除浮动”单独定义一个CSS样式，如:<br/><br/>.clear &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; clear: both;<br/>&#125;<br/><br/><br/>然后使用&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;来专门进行“清除浮动”。<br/>不过也有不赞同意见是，&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;可以不写，直接在下层清除就可以了。<br/>比如本来好好的<br/><br/>&lt;p style=&quot;float:left;width:200px;&quot;&gt;这个是第1列，&lt;/p&gt; <br/>&lt;p style=&quot;float:left;width:400px;&quot;&gt;这个是第2列，&lt;/p&gt; <br/>&lt;p style=&quot;clear:both;&quot;&gt;这个是第3列。&lt;/p&gt;<br/><br/><br/>非要整成<br/><br/><br/>&lt;p style=&quot;float:left;width:200px;&quot;&gt;这个是第1列，&lt;/p&gt; <br/>&lt;p style=&quot;float:left;width:400px;&quot;&gt;这个是第2列，&lt;/p&gt; <br/>&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;<br/>&lt;p&gt;这个是第3列。&lt;/p&gt;<br/><br/>这点看来，&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;确实不需要写。<br/>不过很显然，我们在网页设计时还有一种很普遍的情况：<br/>&lt;style type=&quot;text/css&quot;&gt;<br/>#main &#123;background-color: #3399CC;width: 600px;padding: 20px;&#125;<br/>#sidebar &#123;background-color: #FF6600;&nbsp;&nbsp;&nbsp;&nbsp;float: left;width: 130px;&#125;<br/>#container &#123;float: right;width: 420px;background-color: #FFFF33;&#125;<br/>&lt;/style&gt;<br/>&lt;div id=&quot;main&quot;&gt;<br/>&lt;div id=&quot;sidebar&quot;&gt;第一段内容 第一段内容 第一段内容&lt;/div&gt;<br/>&lt;div id=&quot;container&quot;&gt;第二段内容 第二段内容 第二段内容&lt;/div&gt;<br/>&lt;/div&gt;<br/>&lt;p style=&quot;clear:both;&quot;&gt;第三段内容&lt;/p&gt;<br/>该页面测试在IE下效果正合所要：蓝色块内部有红色和黄色两个色块内容，同时在蓝色块以下是第三段文本。<br/>不过FF的效果可不是这样的。我们不能单单想在下一层清除就能完成我们的工作，我们必须在浮动元素所在标签闭合之前及时进行“清除”。<br/>&lt;style type=&quot;text/css&quot;&gt;<br/>#main &#123;background-color: #3399CC;width: 600px;padding: 20px;&#125;<br/>#sidebar &#123;background-color: #FF6600;&nbsp;&nbsp;&nbsp;&nbsp;float: left;width: 130px;&#125;<br/>#container &#123;float: right;width: 420px;background-color: #FFFF33;&#125;<br/>.clear &#123;clear: both;&#125;<br/>&lt;/style&gt;<br/>&lt;div id=&quot;main&quot;&gt;<br/>&lt;div id=&quot;sidebar&quot;&gt;第一段内容 第一段内容 第一段内容&lt;/div&gt;<br/>&lt;div id=&quot;container&quot;&gt;第二段内容 第二段内容 第二段内容&lt;/div&gt;<br/>&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;<br/>&lt;/div&gt;<br/>&lt;p&gt;第三段内容&lt;/p&gt;<br/>对于因多加的&lt;div class=&quot;clear&quot;&gt;&lt;/div&gt;标签会引起IE和FF高度变化，通过如下方法解决：<br/>.clear &#123;<br/>&nbsp;&nbsp;&nbsp;&nbsp; clear: both;<br/>&nbsp;&nbsp;&nbsp;&nbsp; height:1px;<br/>&nbsp;&nbsp;&nbsp;&nbsp; margin-top:-1px; <br/>&nbsp;&nbsp;&nbsp;&nbsp; overflow:hidden;<br/>&#125;
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] 清除浮动代码--bond,及cntv的兄弟的一个清浮动的情况。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>