﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>IT博客网-asfman-文章分类-divandcss</title><link>http://www.cnitblog.com/asfman/category/3887.html</link><description>有些人注定要生活在彼岸 可以亲近可以爱怜 甚至可以穷尽一生去思念 只是无法触及 有些距离 注定不能跨越 只能俩俩相望 就像有些爱只能养在心里 长在眼中 不要捧在手里 放在身边 注定只能邂逅 无法遭遇</description><language>zh-cn</language><lastBuildDate>Wed, 14 May 2008 14:26:41 GMT</lastBuildDate><pubDate>Wed, 14 May 2008 14:26:41 GMT</pubDate><ttl>60</ttl><item><title>关于hasLayout的好文章</title><link>http://www.cnitblog.com/asfman/articles/43721.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Wed, 14 May 2008 13:58:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/43721.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/43721.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/43721.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/43721.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/43721.html</trackback:ping><description><![CDATA[<div class="tit"><br></div>
<table style="table-layout: fixed;">
    <tbody>
        <tr>
            <td>
            <div class="cnt" id="blog_text">
            <p class="cnt"><a  href="http://www.satzansatz.de/cssd/onhavinglayout.html">http://www.satzansatz.de/cssd/onhavinglayout.html</a></p>
            <p class="cnt">翻译：<a  href="http://forest.blogbus.com/logs/2006/04/2340409.html"><font color="#800080">http://forest.blogbus.com/logs/2006/04/2340409.html</font></a></p>
            <p class="cnt">以下元素自动具备layout:</p>
            <ul>
                <li><code class="c2"><font face="新宋体">&lt;html&gt;, &lt;body&gt;</font></code>
                </li>
                <li><code class="c2"><font face="新宋体">&lt;table&gt;, &lt;tr&gt;, &lt;th&gt;,
                &lt;td&gt;</font></code>
                </li>
                <li><code class="c2"><font face="新宋体">&lt;img&gt;</font></code>
                </li>
                <li><code class="c2"><font face="新宋体">&lt;hr&gt;</font></code>
                </li>
                <li><code class="c2"><font face="新宋体">&lt;input&gt;, &lt;button&gt;, &lt;select&gt;,
                &lt;textarea&gt;, &lt;fieldset&gt;, &lt;legend&gt;</font></code>
                </li>
                <li><code class="c2"><font face="新宋体">&lt;iframe&gt;, &lt;embed&gt;, &lt;object&gt;,
                &lt;applet&gt;</font></code>
                </li>
                <li><code class="c2"><font face="新宋体">&lt;marquee&gt;</font></code> </li>
            </ul>
            <p class="cnt"><font size="3">以下属性会触发layout=true:</font></p>
            <dl><dt><code class="c2"><font face="新宋体">position: absolute</font></code>
            </dt><dt><code class="c2"><font face="新宋体">float: left|right</font></code>
            </dt><dt><code class="c2"><font face="新宋体">display: inline-block</font></code>
            </dt><dt><code class="c2"><font face="新宋体">width: any value other than
            'auto'</font></code>
            </dt><dt><code class="c2"><font face="新宋体">height: any value other than
            'auto'</font></code>
            </dt><dt><code class="c2"><font face="新宋体">zoom: any value other than
            'normal'</font></code>
            </dt><dt><code class="c2"><font face="新宋体">writing-mode: tb-rl</font></code> </dt></dl>
            <p>在IE7 中 overflow 也会使得layout=true:</p>
            <dl><dt><code class="c2"><font face="新宋体">overflow: hidden|scroll|auto</font></code>
            </dt><dt><code class="c2"><font face="新宋体">overflow-x|-y:
            hidden|scroll|auto</font></code></dt></dl>
            <p class="cnt"><font size="3">1.<strong> 浮动元素会被layout元素自动包含</strong>
            。正常情况下，浮动元素会按照left和top的设置偏离原来文档流中的位置，父元素是不会调整高宽去包含该浮动元素的，但在IE中，layout元素会自动调整高和宽以包含浮动元素。</font></p>
            <p class="cnt">&nbsp;</p>
            <p class="cnt">Firefox下：</p>
            <div class="cnt"><img  src="http://hiphotos.baidu.com/sheven/pic/item/78129fca7eb80a86c917681a.jpg" class="blogimg" small="0" border="0"> </div>
            <p class="cnt">IE下：</p>
            <div class="cnt"><img  src="http://hiphotos.baidu.com/sheven/pic/item/ea4849a9775662fc1e17a21b.jpg" class="blogimg" small="0" border="0"> </div>
            <div class="cnt">如果想在FF下达到和IE下类似的效果，可以参考下面的文章 <a  href="http://positioniseverything.net/easyclearing.html">http://positioniseverything.net/easyclearing.html</a>
            </div>
            <div class="cnt">这篇文章更有意思：<a  href="http://www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/">http://www.sitepoint.com/blogs/2005/02/26/simple-clearing-of-floats/</a></div>
            <div class="cnt">似乎设置一下overflow:auto就可以了&#8230;&#8230;</div>
            <p class="cnt"><font size="3">2.
            浮动元素旁边的元素。当一个块级元素紧跟在一个左浮动元素之后时，其中的文字内容应该沿着浮动元素的右边顺序排列并会滑到浮动元素下方。但是如果这个块级元素有
            layout，那么这个元素就会表现为一个矩形，其中文字不会滑向浮动元素下方。与此类似，和浮动元素相邻的相对定位元素，它的位置偏移量应该参照的是父元素的补白(padding)边缘。注：<strong>相对定位一个元素时最好给予其
            layout</strong></font></p>
            <p class="cnt"><font size="3">3. M$专有的滤镜属性filter是只适用于 layout 元素的</font></p>
            <p class="cnt"><font size="3">4. hasLayout 会影响一个块级别链接的鼠标响应区域(可点击区域)。通常 hasLayout =
            false 时只有文字覆盖区域才能响应。而 hasLayout = true 则整个块状区域都可响应。</font></p>
            </div>
            </td>
        </tr>
    </tbody>
</table><img src ="http://www.cnitblog.com/asfman/aggbug/43721.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2008-05-14 21:58 <a href="http://www.cnitblog.com/asfman/articles/43721.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>margin, float引起的问题</title><link>http://www.cnitblog.com/asfman/articles/43720.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Wed, 14 May 2008 13:45:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/43720.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/43720.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/43720.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/43720.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/43720.html</trackback:ping><description><![CDATA[CSS盒模型 Box Model<br><br>　　width和height定义的是Content部分的宽度和高度，padding border
margin的宽度依次加在外面。背景会填充padding和content部分。但是由于浏览器设计上的问题，不同浏览器显示效果会有些不同。左右Margin加倍的问题当box为float时，IE6中box左右的margin会加倍<br><br>W3C定义的盒模式如下：<br><br><br><br>　　width和height定义的是Content部分的宽度和高度，padding
border
margin的宽度依次加在外面。背景会填充padding和content部分。<br><br>　　但是由于浏览器设计上的问题，不同浏览器显示效果会有些不同。<br><br>左右Margin加倍的问题<br><br>　　当box为float时，IE6中box左右的margin会加倍。比如：<br><br>&lt;!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br>&lt;html
xmlns="http://www.w3.org/1999/xhtml"&gt;<br>&lt;head&gt;<br>&lt;meta
http-equiv="Content-Type" content="text/html; charset=gb2312"
/&gt;<br>&lt;title&gt;www.webjx.com&lt;/title&gt;<br>&lt;style&gt;<br>.outer
{<br>width:500px;<br>height:200px;<br>background:#000;<br>}<br>.inner
{<br>float:left;<br>width:200px;<br>height:100px;<br>margin:5px;<br>background:#fff;<br>}<br>&lt;/style&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;div
class="outer"&gt;<br>&lt;div class="inner"&gt;&lt;/div&gt;<br>&lt;div
class="inner"&gt;&lt;/div&gt;<br>&lt;/div&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br><br>　　左面的inner的左面margin明显大于5px。<br>　　这时候，定义inner的display属性为inline。<br><br>外层box自动计算高度的问题<br><br>　　根据W3C定义，没有float属性的外层box不会自动计算高度，要计算高度，必须在内层最后一个box加入clear:both。<br><br>　　Opera、netscape、mozilla等不会计算外层box高度，但是微软ie6会自动计算外层高度。比如：<br><br>&lt;!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br>&lt;html
xmlns="http://www.w3.org/1999/xhtml"&gt;<br>&lt;head&gt;<br>&lt;meta
http-equiv="Content-Type" content="text/html; charset=gb2312"
/&gt;<br>&lt;title&gt;www.webjx.com&lt;/title&gt;<br>&lt;style&gt;<br>.outer
{<br>width:600px;<br>background:#000;<br>}<br>.inner1
{<br>float:left;<br>width:200px;<br>height:100px;<br>margin:5px;<br>background:red;<br>}<br>.inner2
{<br>float:left;<br>width:200px;<br>height:100px;<br>margin:5px;<br>background:yellow;<br>}<br>&lt;/style&gt;<br>&lt;/head&gt;<br>&lt;body&gt;<br>&lt;div
class="outer"&gt;<br>&lt;div class="inner1"&gt;&lt;/div&gt;<br>&lt;div
class="inner2"&gt;&lt;/div&gt;<br>&lt;/div&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br><br>　　上面的代码在ie中有黑色的背景，但是没有正确的计算上下的margin，在inner2下面加上一个包含clear:both属性的div后，可以正确计算margin。但是firefox中仍然没有黑色背景，通常的解决办法是定义一下clear:both这个div的高度，或者插入全角空格，这样就必须增加额外的高度。网上一种比较好的解决办法是在外层div中加入overflow属性，同时使用clear:both，这样就不会增加额外的高度了。如下：<br><br>&lt;!DOCTYPE
html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br>&lt;html
xmlns="http://www.w3.org/1999/xhtml"&gt;<br>&lt;head&gt;<br>&lt;meta
http-equiv="Content-Type" content="text/html; charset=gb2312"
/&gt;<br>&lt;title&gt;www.webjx.com&lt;/title&gt;<br>&lt;style&gt;<br>.outer
{<br>width:600px;<br>background:#000;<br>overflow:auto;<br>}<br>.inner1
{<br>display:inline;<br>float:left;<br>width:200px;<br>height:100px;<br>margin:5px;<br>background:red;<br>}<br>.inner2
{<br>display:inline;<br>float:left;<br>width:200px;<br>height:100px;<br>margin:5px;<br>background:yellow;<br>}<br>.clear
{<br>clear:both;<br>}<br>&lt;/style&gt;<br>&lt;/head&gt;
<br>&lt;body&gt;<br>&lt;div class="outer"&gt;<br>&lt;div
class="inner1"&gt;&lt;/div&gt;<br>&lt;div
class="inner2"&gt;&lt;/div&gt;<br>&lt;div
class="clear"&gt;&lt;/div&gt;<br>&lt;/div&gt;<br>&lt;/body&gt;<br>&lt;/html&gt;<br><br>　　因此，外层css要定义overflow属性，内层最后要加上clear属性。<img src ="http://www.cnitblog.com/asfman/aggbug/43720.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2008-05-14 21:45 <a href="http://www.cnitblog.com/asfman/articles/43720.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Appendix D. Default style sheet for HTML 4</title><link>http://www.cnitblog.com/asfman/articles/41531.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Thu, 27 Mar 2008 01:03:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/41531.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/41531.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/41531.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/41531.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/41531.html</trackback:ping><description><![CDATA[<h1><a name=q0>Appendix D. Default style sheet for HTML 4</a></h1>
<p><em>This appendix is informative, not normative.</em></p>
<p>This style sheet describes the typical formatting of all HTML 4 (<a class=noxref href="http://www.w3.org/TR/CSS21/refs.html#ref-HTML4" rel=biblioentry><span class=informref><font color=#0000cc>[HTML4]</font></span></a>) elements based on extensive research into current UA practice. Developers are encouraged to use it as a default style sheet in their implementations.
<p>The full presentation of some HTML elements cannot be expressed in CSS&nbsp;2.1, including <a href="http://www.w3.org/TR/CSS21/conform.html#replaced-element"><font color=#0000cc>replaced</font></a> elements ("img", "object"), scripting elements ("script", "applet"), form control elements, and frame elements.
<p>For other elements, the legacy presentation can be described in CSS but the solution removes the element. For example, the FONT element can be replaced by attaching CSS declarations to other elements (e.g., DIV). Likewise, legacy presentation of presentational attributes (e.g., the "border" attribute on TABLE) can be described in CSS, but the markup in the source document must be changed.
<pre class=example>html, address,
blockquote,
body, dd, div,
dl, dt, fieldset, form,
frame, frameset,
h1, h2, h3, h4,
h5, h6, noframes,
ol, p, ul, center,
dir, hr, menu, pre   { display: block }
li              { display: list-item }
head            { display: none }
table           { display: table }
tr              { display: table-row }
thead           { display: table-header-group }
tbody           { display: table-row-group }
tfoot           { display: table-footer-group }
col             { display: table-column }
colgroup        { display: table-column-group }
td, th          { display: table-cell }
caption         { display: table-caption }
th              { font-weight: bolder; text-align: center }
caption         { text-align: center }
body            { margin: 8px }
h1              { font-size: 2em; margin: .67em 0 }
h2              { font-size: 1.5em; margin: .75em 0 }
h3              { font-size: 1.17em; margin: .83em 0 }
h4, p,
blockquote, ul,
fieldset, form,
ol, dl, dir,
menu            { margin: 1.12em 0 }
h5              { font-size: .83em; margin: 1.5em 0 }
h6              { font-size: .75em; margin: 1.67em 0 }
h1, h2, h3, h4,
h5, h6, b,
strong          { font-weight: bolder }
blockquote      { margin-left: 40px; margin-right: 40px }
i, cite, em,
var, address    { font-style: italic }
pre, tt, code,
kbd, samp       { font-family: monospace }
pre             { white-space: pre }
button, textarea,
input, select   { display: inline-block }
big             { font-size: 1.17em }
small, sub, sup { font-size: .83em }
sub             { vertical-align: sub }
sup             { vertical-align: super }
table           { border-spacing: 2px; }
thead, tbody,
tfoot           { vertical-align: middle }
td, th          { vertical-align: inherit }
s, strike, del  { text-decoration: line-through }
hr              { border: 1px inset }
ol, ul, dir,
menu, dd        { margin-left: 40px }
ol              { list-style-type: decimal }
ol ul, ul ol,
ul ul, ol ol    { margin-top: 0; margin-bottom: 0 }
u, ins          { text-decoration: underline }
br:before       { content: "\A" }
:before, :after { white-space: pre-line }
center          { text-align: center }
:link, :visited { text-decoration: underline }
:focus          { outline: thin dotted invert }
<a name=bidi>/* Begin bidirectionality settings (do not change) */
BDO[DIR="ltr"]  { direction: ltr; unicode-bidi: bidi-override }
BDO[DIR="rtl"]  { direction: rtl; unicode-bidi: bidi-override }
*[DIR="ltr"]    { direction: ltr; unicode-bidi: embed }
*[DIR="rtl"]    { direction: rtl; unicode-bidi: embed }</a>
@media print {
h1            { page-break-before: always }
h1, h2, h3,
h4, h5, h6    { page-break-after: avoid }
ul, ol, dl    { page-break-before: avoid }
}
</pre>
<img src ="http://www.cnitblog.com/asfman/aggbug/41531.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2008-03-27 09:03 <a href="http://www.cnitblog.com/asfman/articles/41531.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>offsetLeft</title><link>http://www.cnitblog.com/asfman/articles/35395.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Fri, 26 Oct 2007 06:17:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/35395.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/35395.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/35395.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/35395.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/35395.html</trackback:ping><description><![CDATA[offsetLeft包括自己的margin和offsetParent的padding而left则不包括这两个<br>同时offsetLeft不包括offsetParent的border<br>所以通过：<br>function getPosition(o)<br>{<br>&nbsp;var rObj={left:0,top:0};<br>&nbsp;while(o!==document.body)<br>&nbsp;{<br>&nbsp;&nbsp;rObj.left+=o.offsetLeft;<br>&nbsp;&nbsp;rObj.top+=o.offsetTop;<br>&nbsp;&nbsp;o=o.offsetParent;<br>&nbsp;}<br>&nbsp;return rObj;<br>}<br>获取的属性相对于实际的位置，少了几个offsetParent的border<br>所以正确的为：<br>function getPosition(o)<br>{<br>&nbsp;var iLeft=0,iTop=0,iBorder;<br>&nbsp;while(o!=document.body)<br>&nbsp;{<br>&nbsp;&nbsp;iBorder = parseInt(o.offsetParent.currentStyle.borderWidth,10);//但是ff没有currentStyle属性<br>&nbsp;&nbsp;iBorder = iBorder?iBorder:0;<br>&nbsp;&nbsp;iLeft += o.offsetLeft+iBorder;<br>&nbsp;&nbsp;iTop&nbsp; += o.offsetTop+iBorder;<br>&nbsp;&nbsp;o = o.offsetParent;<br>&nbsp;}<br>&nbsp;return {"left":iLeft,"top":iTop};<br>}<br>clientLeft似乎相当于border的大小，但不设置border的话body居然有默认的clientLeft为2，其他标签为0 
<img src ="http://www.cnitblog.com/asfman/aggbug/35395.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2007-10-26 14:17 <a href="http://www.cnitblog.com/asfman/articles/35395.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>css pr</title><link>http://www.cnitblog.com/asfman/articles/21004.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Sat, 23 Dec 2006 07:46:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/21004.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/21004.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/21004.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/21004.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/21004.html</trackback:ping><description><![CDATA[
		<p>@charset "gb2312";</p>
		<p>* {font:12px Verdana,Arial,Tahoma,宋体,sans-serif;}/*12px大，字体优先：Verdana,然后：Arial、Verdana、宋体、sans-serif*/<br />html,body {height:100%;}/*设置浏览器高度为100%*/<br />body,form,p,pre,ul,ol,dl,h1,h2,h3,h4,h5,h6 {padding:0;margin:0;}/*设置form、p、pre、ul、ol、dl、h1、h2、h3、h4、h5、h6内外补丁为0*/<br />div,p {display:block;}/*所有div/p为块元素*/<br />ul,ol,dl {list-style:none;}/*所有项目符号显示无*/<br />img {border:0;}/*所有图片边框无*/<br />a {text-decoration:none;}/*所有链接无修饰[上、下划线，虚线...]*/<br />a:hover {text-decoration:underline;}/*所有链接鼠标放上时为下划线*/<br />a:visited { text-decoration:none; color: #00f; }<br />button {cursor:pointer;}/*所有按钮鼠标放上时为手型标志*/<br />/* 全局设置完毕 */<br /><br />自定义滚动条：<br /><br />body {<br /> SCROLLBAR-FACE-COLOR: #ffffff;<br /> SCROLLBAR-HIGHLIGHT-COLOR: #cccccc;<br /> SCROLLBAR-SHADOW-COLOR: #cccccc;<br /> SCROLLBAR-3DLIGHT-COLOR: #ffffff;<br /> SCROLLBAR-ARROW-COLOR: #cccccc;<br /> SCROLLBAR-TRACK-COLOR: #ffffff;<br /> SCROLLBAR-DARKSHADOW-COLOR: #ffffff;<br />}</p>
<img src ="http://www.cnitblog.com/asfman/aggbug/21004.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2006-12-23 15:46 <a href="http://www.cnitblog.com/asfman/articles/21004.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CSS入门4：css选择符</title><link>http://www.cnitblog.com/asfman/articles/19241.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Thu, 16 Nov 2006 13:38:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/19241.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/19241.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/19241.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/19241.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/19241.html</trackback:ping><description><![CDATA[
		<div class="text_head">
				<h4>
						<br />
						<strong>一.选择符模式</strong>
				</h4>
		</div>
		<div class="text_content">
				<p>模式/含义/内容描述<br /><br />* <br />匹配任意元素。(通用选择器) <br />E <br />匹配任意元素 E (例如一个类型为 E 的元素)。(类型选择器) <br />E F <br />匹配元素 E 的任意后代元素 F 。(后代选择器) <br />E &gt; F <br />匹配元素 E 的任意子元素 F 。(子选择器) <br />E:first-child <br />当元素 E 是它的父元素中的第一个子元素时，匹配元素 E 。(:first-child 伪类) <br />E:link E:visited <br />如果 E 是一个目标还没有访问过(:link)或者已经访问过(:visited)的超链接的源锚点时匹配元素 E 。(link 伪类) <br />E:active E:hover E:focus <br />在确定的用户动作中匹配 E 。(动态伪类) <br />E:lang(c) <br />如果类型为 E 的元素使用了(人类)语言 c (文档语言确定语言是如何被确定的)，则匹配该元素。(:lang() 伪类) <br />E + F <br />如果一个元素 E 直接在元素 F 之前，则匹配元素 F 。(临近选择器) <br />E[foo] <br />匹配具有”foo”属性集(不考虑它的值)的任意元素 E 。(属性选择器) <br />E[foo="warning"] <br />匹配其“foo”属性值严格等于“warning”的任意元素 E 。(属性选择器) <br />E[foo~="warning"] <br />匹配其“foo”属性值为空格分隔的值列表，并且其中一个严格等于“warning”的任意元素 E 。(属性选择器) <br />E[lang|="en"] <br />匹配其“lang”属性具有以“en”开头(从左边)的值的列表的任意元素 E 。(属性选择器) <br />DIV.warning <br />仅 HTML。用法同 DIV[class~="warning"]。(类选择器) <br />E#myid <br />匹配 ID 等于“myid”的任意元素 E 。(ID 选择器) <br /><br /></p>
				<blockquote>引用: 
<hr />
From：http://www.w3.org/TR/CSS2/selector.html 
<hr /></blockquote>
				<p>
						<br />
						<br />我们用下面的例子来解释“[s]父元素[/s]”、“[s]子元素[/s]”、“[s]父/子[/s]”及“[s]相邻[/s]”这几个概念。<br /></p>
				<p class="ubb">&lt;div title="这是一个div"&gt; &lt;h1&gt;这是是h1的内容&lt;/h1&gt; &lt;p&gt;这是一个段落p的内容！&lt;strong&gt;这里是strong的内容&lt;/strong&gt;这是一个段落p的内容！&lt;/p&gt; &lt;/div&gt; </p>
				<p>
						<br />从以上代码中，我们可以找出这样的关系：<br />[list]<br />[*] h1 和 p 同为 div 的“儿子”，两者分别同 div 形成“父/子”关系。<br />[*] h1,p,strong 都是 div 的“子元素”。（三者都包含在 div 之内）<br />[*] div 是 h1 和 p 的“父元素”。<br />[*] strong 和 p 形成“父/子”关系，strong 的“父元素”是 p 。<br />[*] 但 strong 和 div 并非“父/子”关系，而是“祖孙”关系，但 strong 依然是 div 的“子（孙）元素”。<br />[*] div 是 h1 p strong 三者的“祖先”，三者是 div 的“子（孙）元素”。<br />[*] h1 和 p 两者是相邻的。<br />[/list]<br /><br />继承上面的实例来具体演示一下E F的关系：假如，我们需要将 strong 内的内容二字变为绿色，我们可以有哪些方法呢？<br /><br /></p>
				<p class="ubb">div strong {color:green;} /* － 正确。strong 是 div 的“子元素”*/ p &gt; strong {color:green;} /* － 正确。strong 和 p 是“父/子”关系*/ div &gt; strong {color:green;} /* － 错误！strong 虽然是 div 的“子（孙）元素”，但两者乃是“祖孙”关系，而非“父/子”关系，因此不能用 &gt; 符号连接*/</p>
				<p>
						<strong>临近选择器和通用选择器</strong>：通用选择器以星号“*”表示，可以用于替代任何 tag 。<br />实例：<br /><br /></p>
				<p class="ubb">h2 + * { color:green }/*所有紧随 h2 的元素内的文字都将呈现红色*/</p>
				<p>
						<br />
				</p>
				<p>
						<strong>二.选择符分类介绍</strong>
						<br />
						<br />1.通配选择符<br />语法：<br /></p>
				<p class="ubb">* { sRules } </p>
				<p>说明：<br />通配选择符。选定文档目录树(DOM)中的所有类型的单一对象。<br />假如通配选择符不是单一选择符中的唯一组成，“*”可以省略。 <br />示例：<br /></p>
				<p class="ubb">*[lang=fr] { font-size:14px; width:120px; } *.div { text-decoration:none; } </p>
				<p>
						<br />
						<br />2.类型选择符<br />语法：<br /></p>
				<p class="ubb">E { sRules } </p>
				<p>
						<br />说明：<br />类型选择符。以文档语言对象(Element)类型作为选择符。 <br />示例：<br /></p>
				<p class="ubb">td { font-size:14px; width:120px; } a { text-decoration:none; } </p>
				<p>
						<br />3.属性选择符<br />语法：<br /></p>
				<p class="ubb">E [ attr ] { sRules } E [ attr = value ] { sRules } E [ attr ~= value ] { sRules } E [ attr |= value ] { sRules } </p>
				<p>
						<br />说明：<br />属性选择符。 <br />选择具有 attr 属性的 E <br />选择具有 attr 属性且属性值等于 value 的 E <br />选择具有 attr 属性且属性值为一用空格分隔的字词列表，其中一个等于 value 的 E 。这里的 value 不能包含空格 <br />选择具有 attr 属性且属性值为一用连字符分隔的字词列表，由 value 开始的 E <br />示例：<br /></p>
				<p class="ubb">h[title] { color: blue; } /* 所有具有title属性的h对象 */ span[class=demo] { color: red; } div[speed="fast"][dorun="no"] { color: red; } a[rel~="copyright"] { color:black; } </p>
				<p>
						<br />4.包含选择符<br />语法：<br /></p>
				<p class="ubb">E1 E2 { sRules }</p>
				<p>
						<br />说明：<br />包含选择符。选择所有被 E1 包含的 E2 。即 E1.contains(E2)==true 。 <br />示例：<br /></p>
				<p class="ubb">table td { font-size:14px; } div.sub a { font-size:14px; } </p>
				<p>
						<br />5.子对象选择符<br />语法：<br /></p>
				<p class="ubb">E1 &gt; E2 { sRules } </p>
				<p>
						<br />说明：<br />子对象选择符。选择所有作为 E1 子对象的 E2 。 <br />示例：<br /></p>
				<p class="ubb">body &gt; p { font-size:14px; } /* 所有作为body的子对象的p对象字体尺寸为14px */ div ul&gt;li p { font-size:14px; } </p>
				<p>
						<br />6.ID选择符<br />语法：<br /></p>
				<p class="ubb">#ID { sRules }</p>
				<p>
						<br />说明：<br />ID选择符。以文档目录树(DOM)中作为对象的唯一标识符的 ID 作为选择符。 <br />示例：<br /></p>
				<p class="ubb">#note { font-size:14px; width:120px;} </p>
				<p>
						<br />7.类选择符<br />语法：<br /></p>
				<p class="ubb">E.className { sRules } </p>
				<p>
						<br />说明：<br />类选择符。在HTML中可以使用此种选择符。其效果等同于E [ class ~= className ] 。请参阅属性选择符( Attribute Selectors )。<br />在IE5+，可以为对象的 class 属性(特性)指定多于一个值( className )，其方法是指定用空格隔开的一组样式表的类名。例如：&lt;div class="class1 class2"&gt;。 <br />示例：<br /></p>
				<p class="ubb">div.note { font-size:14px; } /* 所有class属性值等于（包含）"note"的div对象字体尺寸为14px */ .dream { font-size:14px; } /* 所有class属性值等于（包含）"note"的对象字体尺寸为14px */ </p>
				<p> </p>
				<p>
						<br />8.选择符分组<br />语法：<br /></p>
				<p class="ubb">E1 , E2 , E3 { sRules } </p>
				<p>
						<br />说明：<br />选择符分组。将同样的定义应用于多个选择符，可以将选择符以逗号分隔的方式并为组。 <br />示例：<br /></p>
				<p class="ubb">.td1,div a,body { font-size:14px; } td,div,a { font-size:14px; } </p>
				<p>
						<br />
						<br />9.伪类及伪对象选择符<br /><br />语法：<br /></p>
				<p class="ubb">E : Pseudo-Classes { sRules } E : Pseudo-Elements { sRules } </p>
				<p>
						<br />说明：<br />伪类及伪对象选择符。 <br />伪类选择符。请参阅伪类( Pseudo-Classes )[:link :hover :active :visited :focus :first-child :first :left :right :lang]。 <br />伪对象选择符。请参阅伪对象( Pseudo-Elements )[:first-letter :first-line :before :after]。 <br />示例：<br /></p>
				<p class="ubb">div:first-letter { font-size:14px; } a.fly :hover { font-size:14px; color:red; } </p>
				<p>
				</p>
		</div>
<img src ="http://www.cnitblog.com/asfman/aggbug/19241.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2006-11-16 21:38 <a href="http://www.cnitblog.com/asfman/articles/19241.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>pixelHeight</title><link>http://www.cnitblog.com/asfman/articles/18154.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Thu, 19 Oct 2006 07:11:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/18154.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/18154.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/18154.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/18154.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/18154.html</trackback:ping><description><![CDATA[&lt;html&gt;<br />　&lt;head&gt;<br />　&lt;meta http-equiv="Content-Type" content="text/html; charset=gb2312"&gt;<br />　&lt;title&gt;menu hide show&lt;/title&gt;<br />　&lt;script language="JavaScript"&gt;<br />　maxh=0;<br />　function hidde(obj)<br />　{<br />　if (maxh==0)<br />　maxh=obj.style.pixelHeight;<br />　if(obj.style.pixelHeight&gt;0)<br />　 {<br />　   obj.style.pixelHeight-=10;<br />　 obj.filters.alpha.opacity-=4;<br />　  if(obj.style.pixelHeight==maxh/10)<br />　   obj.style.display='none';<br />　 obj1=obj<br />　 setTimeout('hidde(obj1)','1');<br />　 }<br />　}<br />　function show(obj)<br />　{<br />　if(obj.style.pixelHeight&lt;maxh)<br />　 {<br />　   obj.style.display='';<br />　   obj.style.pixelHeight+=10;<br />　 obj.filters.alpha.opacity+=4;<br />　 obj1=obj<br />　 setTimeout('show(obj1)','1');<br />　 }<br />　}<br />　function turn(obj)<br />　{<br />　if (obj.style.display=='none')<br />　show(obj);<br />　else<br />　hidde(obj);<br />　}<br />　&lt;/script&gt;<br />　&lt;/head&gt;<br />　<br />　&lt;body&gt;<br />　&lt;input type="button" name="Submit" value="hidde" onClick="hidde(table1)"&gt;<br />　&lt;input type="button" name="Submit" value="show" onClick="show(table1)"&gt;<br />　&lt;input type="button" name="Submit" value="turn" onClick="turn(table1)"&gt;<br />　&lt;div id="table1" style="height:200px;FILTER: alpha(Opacity=100);OVERFLOW: hidden;"&gt;<br />　 &lt;table width="100%" height="200" border="0" cellpadding="0" cellspacing="0" bgcolor="#42CC33" &gt;<br />　   &lt;tr&gt; <br />　     &lt;td&gt;this is something&lt;br&gt;<br />　     br&lt;br&gt;<br />　     br&lt;br&gt;<br />　     br&lt;br&gt;<br />　     br&lt;br&gt;<br />　     br &lt;/td&gt;<br />　 &lt;/tr&gt;<br />　&lt;/table&gt;<br />　&lt;/div&gt;&lt;br&gt;<br />　this is the foot<br />　&lt;/body&gt;<br />　&lt;/html&gt;<br />　<img src ="http://www.cnitblog.com/asfman/aggbug/18154.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2006-10-19 15:11 <a href="http://www.cnitblog.com/asfman/articles/18154.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>图片飘飘</title><link>http://www.cnitblog.com/asfman/articles/17765.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Mon, 09 Oct 2006 07:50:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/17765.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/17765.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/17765.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/17765.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/17765.html</trackback:ping><description><![CDATA[javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.images; DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position='absolute'; DIS.left=Math.sin(R*x1+i*x2+x3)*x4+x5; DIS.top=Math.cos(R*y1+i*y2+y3)*y4+y5}R++}setInterval('A()',5); void(0);<img src ="http://www.cnitblog.com/asfman/aggbug/17765.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2006-10-09 15:50 <a href="http://www.cnitblog.com/asfman/articles/17765.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>css中* html&gt;body 是什么意思？ </title><link>http://www.cnitblog.com/asfman/articles/17219.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Fri, 22 Sep 2006 17:17:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/17219.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/17219.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/17219.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/17219.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/17219.html</trackback:ping><description><![CDATA[
		<span style="FONT-SIZE: 12px; LINE-HEIGHT: 1.7em">&gt;是子选择符,用于匹配那些其他元素的直接后辈,属于CSS2<br /><br />比如说:<br />body &gt; p{color:red;}<br />&lt;body&gt;<br />&lt;p&gt;内容&lt;/p&gt;<br />&lt;div&gt;&lt;p&gt;内容&lt;/p&gt;&lt;/div&gt;<br />&lt;/body&gt;<br /><br />只有第一个匹配,第二个P是DIV的下级,因此是BODY的孙级,就不匹配了</span>
		<br />
		<span style="FONT-SIZE: 12px; LINE-HEIGHT: 1.7em">*是通用选择符,匹配文档中的任何元素<br />比如说:<br />body * ul{color:gray;}<br />BODY元素的两级以下的UL元素颜色为灰色<br />也就是说BODY元素的任何下级UL元素不为灰色,但其他UL,不论是DIV的下级元素,还是列表项,或是表格,都会成为灰色</span>
		<br />
		<span style="FONT-SIZE: 12px; LINE-HEIGHT: 1.7em">* html&gt;body <br />至于这个我也不知道该怎么解释,范围太大了<br />就现在的htm文件而言,html标记已经是最外层的,body就是html的直接下级</span>
		<br />
		<span style="FONT-SIZE: 12px; LINE-HEIGHT: 1.7em">我好象记得<br />html&gt;body #top {<br />    height: 70px;<br />}<br />这是为了避免opera的一个分解BUG<br /><br />上面的二个height,第一个是为了能IE5盒模型的错误,后面一个height才是正确的数字<br /><br />这些在&lt;网站重构&gt;里面有讲到,买本看看吧</span>
		<br />
		<span style="FONT-SIZE: 12px; LINE-HEIGHT: 1.7em">CSS: TDG 对 CSS1 的全部和 CSS2 的大部分属性都有详细的介绍。<br /><br />成书之时，CSS2 的支持还很不完善，就像乾坤大挪移，张无忌之前从未有人练到过第七层，所以以 Eric Meyer 之能 (他是 W3C CSS2 小组的特邀专家)，很多效果也只能凭空想象。当然，CSS1 的支持基本上都可以使用了，这方面是讲述得很详细的。<br /><br />目前现代的浏览器 (Moz, IE6, Safari, Opera) 对 CSS1 的支持趋近于完美，CSS2 的大部分都有较好的支持了 (IE6 例外)。<br /><br />&gt; * 这些选择符，IE6 不支持，但可以用过 IE6 的 Behavior 来书写 htc 文件令它支持。<br /><br />这在 Eric Meyer 的《More Eric Mayer On CSS》的一个 project 中提到了。另外，<a href="http://dean.edwards.name/IE7/" target="_blank"><font color="#333366">http://dean.edwards.name/IE7/</font></a> 提供了一个目前相当不错的 IE6 补丁包，让你安装在网站上，可使 IE 用户顺利浏览用了这些选择符的 CSS。</span>
<img src ="http://www.cnitblog.com/asfman/aggbug/17219.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2006-09-23 01:17 <a href="http://www.cnitblog.com/asfman/articles/17219.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>典型的三行二列居中高度自适应布局</title><link>http://www.cnitblog.com/asfman/articles/17218.html</link><dc:creator>汪杰</dc:creator><author>汪杰</author><pubDate>Fri, 22 Sep 2006 17:03:00 GMT</pubDate><guid>http://www.cnitblog.com/asfman/articles/17218.html</guid><wfw:comment>http://www.cnitblog.com/asfman/comments/17218.html</wfw:comment><comments>http://www.cnitblog.com/asfman/articles/17218.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnitblog.com/asfman/comments/commentRss/17218.html</wfw:commentRss><trackback:ping>http://www.cnitblog.com/asfman/services/trackbacks/17218.html</trackback:ping><description><![CDATA[
		<div id="ctitle">典型的三行二列居中高度自适应布局</div>
		<div id="author">作者：阿捷 2004-7-18 21:42:03</div>
		<p>如何使整个页面内容居中，如何使高度适应内容自动伸缩。这是学习CSS布局最常见的问题。下面就给出一个实际的例子，并详细解释。（本文的经验和是蓝色理想论坛xpoint、guoshuang共同讨论得出的。）</p>
		<p>首先先<a href="http://www.w3cn.org/article/layout/2004/3h2l.html" target="new">按这里看实际运行效果</a>，这个页面在mozilla、opera和IE浏览器中均可以实现居中和高度自适应。我们来分析代码：</p>
		<h4>完整代码</h4>
		<span class="code">&lt;html&gt;<br />&lt;head&gt;<br />&lt;style type="text/css"&gt;<br />body{<br />background:#999;<br />text-align:center;<br />color: #333;<br />font-family:arial,verdana,sans-serif;<br />}<br />#header{<br />width:776px;<br />margin-right: auto;<br />margin-left: auto; <br />padding: 0px;<br />background: #EEE;<br />height:60px;<br />text-align:left;<br />} #contain{<br />margin-right: auto;<br />margin-left: auto;<br />width: 776px;<br />} #mainbg{<br />width:776px;<br />padding: 0px;<br />background: #60A179;<br />float: left;<br />}<br />#right{<br />float: right; <br />margin: 2px 0px 2px 0px;<br />padding:0px; <br />width: 574px; <br />background: #ccd2de;<br />text-align:left;<br />}<br />#left{<br />float: left; <br />margin: 2px 2px 0px 0px; <br />padding: 0px; <br />background: #F2F3F7;<br />width: 200px;<br />text-align:left;<br />}<br />#footer{<br />clear:both;<br />width:776px;<br />margin-right: auto;<br />margin-left: auto; <br />padding: 0px;<br />background: #EEE;<br />height:60px;}<br />.text{margin:0px;padding:20px;}<br />&lt;/style&gt;<br />&lt;/head&gt;<br />&lt;body&gt;<br />&lt;div id="header"&gt;header&lt;/div&gt;<br />&lt;div id="contain"&gt;<br />&lt;div id="mainbg"&gt;<br />&lt;div id="right"&gt;<br />&lt;div <br />class="text"&gt;right&lt;p&gt;1&lt;/p&gt;&lt;p&gt;1&lt;/p&gt;&lt;p&gt;1&lt;/p&gt;&lt;p&gt;1&lt;/p&gt;&lt;p&gt;1&lt;/p&gt;&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;div id="left"&gt;<br />&lt;div class="text"&gt;left&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;/div&gt;<br />&lt;div id="footer"&gt;footer&lt;/div&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></span>
		<h4>代码分析</h4>
		<img height="422" src="http://www.w3cn.org/article/layout/2004/images/3h2l.gif" width="588" />
		<p>首先我们定义body和顶部第一行#header，这里面的关键是body中的<span class="code">text-align:center;</span>和header中的<span class="code">margin-right: auto;margin-left: auto;</span>，通过这两句使得header居中。注：其实定义text-align:center;就已经在IE中实现居中，但在mozilla中无效，需要设置margin:auto;才可以实现mozilla中的居中。</p>
		<p>接下来定义中间的两列#right和#left。为了使中间两列也居中，我们在它们外面嵌套一个层#contain，并对contain设置margin:auto;，这样#right和#left就自然居中了。</p>
		<p>注意中间两列定义的顺序，我们首先定义#right，通过<span class="code">float: right;</span>让它浮在#contain层的最右边。然后再定义#left，通过<span class="code">float: left;</span>让它浮动在#right层的左面。这和我们以前表格从左到右定义的顺序正好相反(更正：先左后右、还是先右后左都可以实现，根据自己需要设计)。</p>
		<p>我们看到代码中在#contain和两列之间还嵌套了一个层#mainbg，这个层是做什么用的呢？这个层就是用来定义#contain的背景的。你肯定会问，为什么不直接在#contain中定义背景，而要多套一层呢？那是因为在#contain中直接定义的背景，在mozilla中将显示不出来，必须定义高度值才可以。如果定义了高度值，#right层就无法实现根据内容的自动伸缩。为了解决背景和高度问题，就必须增加这么一个#mainbg层。窍门在于#mainbh这个层定义<span class="code">float: left;</span>，因为float使层自动有宽和高的属性。(暂且这么理解：)</p>
		<p>最后是定义底部的#footer层。这个定义的关键是：<span class="code">clear:both;</span>，这一句话的作用是取消#footer层的浮动继承。否则的话，你会看到#footer紧贴着#header显示，而不是在#right的下面。</p>
		<p>主要的层定义完毕，这个布局就ok了。补充一点：你看到我还定义了一个<span class="code">.text{margin:0px;padding:20px;}</span>，这个class的作用是使内容的外围有20px的空白。为什么不直接在#right里定义margin或者padding呢，因为mozilla和IE对css盒模型的解释不一致，直接定义margin/padding会造成mozilla里布局变形。我一般采用内部再套一层的做法来解决。</p>
		<p>希望这个布局对你有帮助，有什么问题欢迎到论坛交流。</p>
<img src ="http://www.cnitblog.com/asfman/aggbug/17218.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cnitblog.com/asfman/" target="_blank">汪杰</a> 2006-09-23 01:03 <a href="http://www.cnitblog.com/asfman/articles/17218.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>