﻿<?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>C++博客-PeakGao-随笔分类-CSS</title><link>http://www.cppblog.com/PeakGao/category/3948.html</link><description>别读成痞子高</description><language>zh-cn</language><lastBuildDate>Tue, 20 May 2008 06:11:14 GMT</lastBuildDate><pubDate>Tue, 20 May 2008 06:11:14 GMT</pubDate><ttl>60</ttl><item><title>小结：CSS属性列表</title><link>http://www.cppblog.com/PeakGao/archive/2007/04/04/21209.html</link><dc:creator>PeakGao</dc:creator><author>PeakGao</author><pubDate>Wed, 04 Apr 2007 01:14:00 GMT</pubDate><guid>http://www.cppblog.com/PeakGao/archive/2007/04/04/21209.html</guid><wfw:comment>http://www.cppblog.com/PeakGao/comments/21209.html</wfw:comment><comments>http://www.cppblog.com/PeakGao/archive/2007/04/04/21209.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/PeakGao/comments/commentRss/21209.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/PeakGao/services/trackbacks/21209.html</trackback:ping><description><![CDATA[<table cellSpacing=0 cellPadding=0 width=760 align=center border=0>
    <tbody>
        <tr>
            <td class=p2 vAlign=top width=584 background=CSS属性列表.files/line.gif height=123>
            <table class=p2 width="95%" align=center border=0>
                <tbody>
                    <tr>
                        <td vAlign=top width="32%"><font color=#cc3399>属性名称</font><br><br><font color=#336633>字体属性（Font）</font><br>font-family<br>font-style<br>font-variant<br>font-weight<br>font-size<br><br><br><font color=#336633>颜色和背景属性</font><br>Color<br>Background-color<br>Background-image<br>Background-repeat<br>Background-attachment<br>Background-position<br><br><br><font color=#336633>文本属性</font><br>Word-spacing<br>Letter-spacing<br>Text-decoration<br><br>Vertical-align<br><br>Text-transform<br><br>Text-align<br>Text-indent<br>Line-height<br><br><br><font color=#336633>边距属性</font><br>Margin-top<br>Margin-right<br>Margin-bottom<br>Margin-left<br><br><font color=#336633>填充距属性</font><br>Padding-top<br>Padding-right<br>Padding-bottom<br>Padding-left<br><br><font color=#336633>边框属性</font><br>Border-top-width<br>Border-right-width<br>Border-bottom-width<br>Border-left-width<br>Border-width <br>Border-color<br>Border-style<br>Border-top<br>Border-right<br>Border-bottom<br>Border-left<br>Width<br>Height<br>Float<br>Clear <br><br><font color=#336633>分级属性</font><br>Display<br>White-space <br>List-style-type<br>List-style-image<br>List-style-position<br>List-style<br><br><font color=#336633>鼠标（Cursor）属性</font></td>
                        <td vAlign=top align=left width="20%"><font color=#cc3399>属性含义</font><br><br><br>使用什么字体 <br>字体是否斜体<br>是否用小体大写<br>字体的粗细<br>字体的大小<br><br><br><br>定义前景色<br>定义背景色<br>定义背景图案<br>重复方式<br>设置滚动<br>初始位置<br><br><br><br>单词之间的间距<br>字母之间的间距<br>文字的装饰样式<br><br>垂直方向的位置<br><br>文本转换<br><br>对齐方式<br>首行的缩进方式<br>文本的行高<br><br><br><br>顶端边距<br>右侧边距<br>底端边距<br>左侧边距<br><br><br>顶端填充距<br>右侧填充距<br>底端填充距<br>左侧填充距<br><br><br>顶端边框宽度<br>右侧边框宽度<br>底端边框宽度<br>左侧边框宽度<br>一次定义宽度<br>设置边框颜色<br>设置边框样式<br>一次定义顶端<br>一次定义右侧<br>一次定义底端<br>一次定义左侧<br>定义宽度属性<br>定义高度属性<br>文字环绕<br>哪一边环绕<br><br><br>定义是否显示<br>怎样处理空白<br>加项目编号<br>加图案<br>第二行起始位置<br>一次定义列表<br><br><br>自动<br>定位&#8220;十&#8221;字<br>默认指针<br>手形<br>移动<br>箭头朝右方<br>箭头朝右上方<br>箭头朝左上方<br>箭头朝上方<br>箭头朝右下方<br>箭头朝左下方<br>箭头朝下方<br>箭头朝左方<br>文本&#8220;I&#8221;形<br>等待<br>帮助<br></td>
                        <td vAlign=top width="48%"><font color=#cc3399>属性值</font><br><br><br>所有的字体<br>Normal、italic、oblique<br>Normal、small-caps<br>Normal、bold、bolder、lithter等<br>Absolute-size、relative-size、length、percentage等<br><br><br>颜色<br>颜色<br>路径<br>Repeat-x、repeat-y、no-repeat<br>Scroll、Fixed<br>Percentage、length、top、left、<br>right、bottom等<br><br><br>Normal <length>&lt;length&gt;<br>同上<br>None|underline|overline|line-<br>through|blink<br>Baseline|sub|super|top|text-top|middle|bottom|text-bottom|<br>Capitalize|uppercase|<br>lowercase|none<br>Left|right|center|justify<br>&lt;length&gt;|&lt;percentage&gt;<br>Normal|&lt;number&gt;|&lt;length&gt;|<br>&lt;percentage&gt;<br><br><br>Length|percentage|auto<br>同上<br>同上<br>同上<br><br><br>Length|percentage<br>同上<br>同上<br>同上<br><br><br>Thin|medium|thick|length<br>同上<br>同上<br>同上<br>同上<br>Color<br>None|dotted|dash|solid等<br>Border-top-width|color等<br>同上<br>同上<br>同上<br>Length|percentage|auto<br>Length|auto<br>Left|right|none<br>Left|right|none|both<br><br><br>Block、inline、list-item、none<br>Normal、pre、nowrap<br>Disc、circle、square等<br><url>&lt;url&gt;|none<br>Inside、outside<br><keyword>&lt;keyword&gt;|&lt;position&gt;
                        <positon>|&lt;url&gt;<br><br><br>Auto<br>Crosshair <url><br>Default<br>Hand<br>Move<br>e-resize<br>Ne-resize <br>Nw-resize<br>n-resize<br>Se-resize<br>Sw-resize<br>s-resize<br>w-resize<br>Text<br>Wait<br>Help</td>
                    </tr>
                </tbody>
            </table>
            </td>
            <td width=15 background=CSS属性列表.files/line.gif>
            <p>&nbsp;</p>
            </td>
        </tr>
    </tbody>
</table>
<!--底部开始--><script language=Javascript src="CSS属性列表.files/foot.js"></script><!--底部结束-->
<img src ="http://www.cppblog.com/PeakGao/aggbug/21209.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/PeakGao/" target="_blank">PeakGao</a> 2007-04-04 09:14 <a href="http://www.cppblog.com/PeakGao/archive/2007/04/04/21209.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>IE和FIREFOX下CSS的区别 </title><link>http://www.cppblog.com/PeakGao/archive/2007/04/03/21159.html</link><dc:creator>PeakGao</dc:creator><author>PeakGao</author><pubDate>Tue, 03 Apr 2007 02:54:00 GMT</pubDate><guid>http://www.cppblog.com/PeakGao/archive/2007/04/03/21159.html</guid><wfw:comment>http://www.cppblog.com/PeakGao/comments/21159.html</wfw:comment><comments>http://www.cppblog.com/PeakGao/archive/2007/04/03/21159.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/PeakGao/comments/commentRss/21159.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/PeakGao/services/trackbacks/21159.html</trackback:ping><description><![CDATA[CSS对浏览器器的兼容性具有很高的价值，通常情况下IE和Firefox存在很大的解析差异，这里介绍一下兼容要点。<br><strong>对高度的解析<br></strong>IE：将根据内容的高度变化，包括未定义高度的图片内容，即使定义了高度，当内容超过高度时，将使用实际高度<br>Firefox：没有定义高度时，如果内容中包括了图片内容，MF的高度解析是根据印刷标准，这样就会造成和实际内容高度不符合的情况；当定义了高度，但是内容超过高度时，内容会超出定义的高度，但是区域使用的样式不会变化，造成样式错位。
<p>结论：大家在可以确定内容高度的情况下最好定义高度，如果真的没有办法定义高度，最好不用使用边框样式，否则样式肯定会出现混乱！</p>
<p><strong>img对象alt和title的解析<br></strong>alt：当照片不存在或者load错误时的提示；<br>title：照片的tip说明。<br>在IE中如果没有定义title，alt也可以作为img的tip使用，但是在MF中，两者完全按照标准中的定义使用</p>
<p>结论：大家在定义img对象时，最后将alt和title对象都写全，保证在各种浏览器中都能正常使用</p>
<p><strong>其他的细节差别<br></strong>当你在写css的时候，特别是用float:&nbsp;left（或right）排列一窜图片时，会发现在firefox里面正常而IE里面有问题。无论你用margin:0,还是border:&nbsp;0来约束，都无济于事。</p>
<p>其实这里还有另外一个问题，就是IE对于空格的处理，firefox是忽略的而IE对于块与块之间的空格是处理的。也就是说一个div结束后要紧接着一个div写，中间不要有回车或者空格。不然也许会有问题，比如3px的偏差，而且这个原因很难发现。</p>
<p>非常不走运的是我又碰到了这样的问题，多个img标签连着，然后定义的float:&nbsp;left，希望这些图片可以连起来。但是结果在firefox里面正常而IE里面显示的每个img都相隔了3px。我把标签之间的空格都删除都没有作用。</p>
<p>后来的解决方法是在img外面套li，并且对li定义margin:&nbsp;0，这样就解决了IE和firefox的显示偏差。IE对于一些模型的解释会产生很多错误问题，只有多多尝试才能发现原因。</p>
<p><strong><font color=#3300ff>2、嵌套DIV:父DIV的高度不能根据子DIV自动变化的解决方案</font></strong><br>&lt;div&nbsp;id="parent"&gt;<br>&lt;div&nbsp;id="content"&gt;&nbsp;&lt;/div&gt;<br>&lt;/div&gt;</p>
<p>当Content内容多时，即使parent设置了高度100%或auto,在不同浏览器下还是不能完好的自动伸展。&nbsp;解决方案</p>
<p>&lt;div&nbsp;id="parent"&gt;<br>&lt;div&nbsp;id="content"&gt;&lt;/div&gt;<br>&lt;div&nbsp;style="font:&nbsp;0px/0px&nbsp;sans-serif;clear:&nbsp;both;display:&nbsp;block"&gt;&nbsp;&lt;/div&gt;<br>&lt;/div&gt;</p>
<p>在层的最下方产生一个高度为1的空格，可解除这个问题</p>
<p><strong><font color=#3300ff>3、CSS&nbsp;DIV&nbsp;学习笔记<br></font></strong>一、基本上每个区块的div&nbsp;都要有自己的id，杜绝不同功能的区块用同一个id/class</p>
<p>二、每个稍大的区块div&nbsp;后面都跟一个&lt;!--&nbsp;/id&nbsp;--&gt;标记开始、结束</p>
<p>三、隐藏文字的又一种方法&nbsp;TEXT-INDENT:&nbsp;-9999px;&nbsp;LINE-HEIGHT:&nbsp;0</p>
<p><strong>四、巧妙地处理并列的两列:</strong><br>1)<br>右列为P,&nbsp;width=44.5%,&nbsp;float=left<br>左列为P.first,&nbsp;border-right:&nbsp;#a7a7a7&nbsp;1px&nbsp;solid,&nbsp;width=45%<br>2)<br>右列#right,&nbsp;margin-left:50%<br>左列#left,&nbsp;float=left,width=50%&nbsp;border-right:#a7a7a7&nbsp;1px&nbsp;solid</p>
<p>以上两种方法关键点在于选择其中一个为float=left</p>
<p><strong>五、随机的切换图片：<br></strong>#random&nbsp;{<br>BACKGROUND:&nbsp;url(/rotate.php);<br>}<br>这个方法很巧妙。<br><br><strong>4、关于div的高度自适应</strong><br>　　今天小尿让我帮他的页子解决一个问题，就是div的高度自适应，也就是在一个父级div中嵌套一左一右两个子div，右边的子div内容可无限扩展，而可以使得父级div的高度能被无限拉长，用一般的布局方法，在IE中可以正确浏览，在Mozilla中父级div的高度就固定在10px左右，无法自适应高度，height:auto也不行，怎么办呢。网上参考到一篇资料，要实现自适应高度，div层必须具有float属性，于是我开始动手试验，float:left的话，div就跑到页面最左边去了，这好办，我在它的外面再套一层div，把位置定好，那么里面的就算float:left也不会被移动位置了。</p>
<p>xhtml:<br>==========================================================</p>
<p>&lt;div&nbsp;id="container_father"&gt;<br>&nbsp;&nbsp;&lt;div&nbsp;id="container"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id="panel"&gt;&nbsp;test&lt;br&nbsp;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&lt;br&nbsp;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;test&lt;br&nbsp;/&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;id="panel"&nbsp;--&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;div&nbsp;id="sidebar"&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;ul&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&nbsp;class="current"&gt;预安装检查&lt;/li&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;阅读&nbsp;PFC&nbsp;授权协议&lt;/li&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;初始化数据库&lt;/li&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;li&gt;完成安装&lt;/li&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;/ul&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;id="sidebar"&nbsp;--&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;/div&gt;<br>&nbsp;&nbsp;&nbsp;&nbsp;&lt;!--&nbsp;id="container"&nbsp;--&gt;<br>&nbsp;&nbsp;&lt;/div&gt;<br>&lt;/div&gt;</p>
<p>CSS<br>=================================================<br>#container_father&nbsp;{<br>margin-left:&nbsp;auto;<br>margin-right:&nbsp;auto;<br>padding:&nbsp;0px;<br>width:&nbsp;750px;<br>}</p>
<p>#container&nbsp;{<br>&nbsp;&nbsp;&nbsp;width:&nbsp;750px;<br>&nbsp;&nbsp;&nbsp;border:&nbsp;1px&nbsp;solid&nbsp;#cccccc;<br>&nbsp;&nbsp;&nbsp;padding:&nbsp;8px;<br>&nbsp;&nbsp;&nbsp;margin:&nbsp;0px;<br>&nbsp;&nbsp;&nbsp;background-color:&nbsp;#F1F3F5;<br>&nbsp;&nbsp;&nbsp;float:&nbsp;left;<br>}</p>
<p>FRom:&nbsp;<a href="http://ulean.zg163.net/"><u><font color=#0000ff>http://ulean.zg163.net/</font></u></a></p>
<p>5、&nbsp;&nbsp;深入标准&nbsp;&nbsp;~&nbsp;&nbsp;The&nbsp;IE&nbsp;Doubled&nbsp;Float-Margin&nbsp;Bug(IE双倍浮动边界Bug)<br>什么发生故障？</p>
<p>一段无错的代码把一个居左浮动(float:left)的元素放置进一个容器盒(box)，并在浮动元素上使用了左边界(margin-left)来令它和容器的左边产生一段距离。看起来相当的简单，对吗？但直至它被在IE/Win中浏览为止，在浏览器中居左浮动元素的边界长度被神秘地翻了一倍！</p>
<p>情况应该如何？</p>
<p>下面的图释展示了一个简单的div(茶色的盒子)包含着一个居左浮动的div(绿色的盒子)。浮动元素有一个100px的左边界，使容器盒与它的左边缘之间产生了一个100px的间隙。到现在为止，一直都还不错。</p>
<p>.floatbox&nbsp;{<br>float:&nbsp;left;<br>width:&nbsp;150px;<br>height:&nbsp;150px;<br>margin:&nbsp;5px&nbsp;0&nbsp;5px&nbsp;100px;<br>/*This&nbsp;last&nbsp;value&nbsp;applies&nbsp;the&nbsp;100px&nbsp;left&nbsp;margin&nbsp;*/<br>}</p>
<p>陈旧的IE&#8220;双倍占据&#8221;</p>
<p>原样的相同代码被在IE/Win中浏览时以些微不同的方式显示，下面的图释展示了IE/Win在布局上所做的。</p>
<p>这为什么会发生？别问这种傻问题！这就是IE，记得吗？符合标准只是理想的状况，不指望实现，这个简单的事实正验证了。</p>
<p>重点</p>
<p>这个Bug仅当浮动边界和浮动元素的方向相同时出现在浮动元素和容器盒的内边缘之间，在这之后的任意有着相似边界的浮动元素不会呈现双倍边界。只有特定的浮动行的第一个浮动元素会遭遇这个Bug。像居左的情况一样，双倍边界同样神秘地显示在居右的相同方式。</p>
<p>最后，修复办法！</p>
<p>直到现在(04年1月)这个Bug一直被认为是无法修复的，通常用来替代错误的边界的控制方法如：一个不可视浮动元素的左边距，连同一个内嵌的盒子一起，可视的盒子装在不可视浮动元素里；或者使用技巧仅对IE/Win设定边界的1/2值。这办法生效了，但是是混乱的而且搞糟了干净的源代码。不过现在全部结束了。</p>
<p>Steve&nbsp;Clason发现了一个修复办法，描述在他的Guest&nbsp;Demo里，修复了双倍边界和围绕文字缩进Bug。这是一个经典的IE的Bug修复办法，使用一个属性来修复影响不相关属性的Bug。</p>
<p>现在如何来做？</p>
<p>研究它，简单地将{display:&nbsp;inline;}设置给浮动元素就是全部所需做的！是的，听起来太简单了，不是吗？不过这是真的，仅仅一个display的"inline"声明已经能够胜任了。</p>
<p>熟悉规则的人知道浮动元素自动设置为"block"元素，而不管他们之前是什么。就如Steve从W3C里指出：</p>
<p>9.5.1&nbsp;Positioning&nbsp;the&nbsp;float:&nbsp;the&nbsp;'float'&nbsp;property</p>
<p>"This&nbsp;property&nbsp;specifies&nbsp;whether&nbsp;a&nbsp;box&nbsp;should&nbsp;float&nbsp;to&nbsp;the&nbsp;left,&nbsp;right,&nbsp;or&nbsp;not&nbsp;at&nbsp;all.&nbsp;It&nbsp;may&nbsp;be&nbsp;set&nbsp;for&nbsp;elements&nbsp;that&nbsp;generate&nbsp;boxes&nbsp;that&nbsp;are&nbsp;not&nbsp;absolutely&nbsp;positioned.&nbsp;The&nbsp;values&nbsp;of&nbsp;this&nbsp;property&nbsp;have&nbsp;the&nbsp;following&nbsp;meanings:</p>
<p>left<br>The&nbsp;element&nbsp;generates&nbsp;a&nbsp;block&nbsp;box&nbsp;that&nbsp;is&nbsp;floated&nbsp;to&nbsp;the&nbsp;left.&nbsp;Content&nbsp;flows&nbsp;on&nbsp;the&nbsp;right&nbsp;side&nbsp;of&nbsp;the&nbsp;box,&nbsp;starting&nbsp;at&nbsp;the&nbsp;top&nbsp;(subject&nbsp;to&nbsp;the&nbsp;'clear'&nbsp;property).&nbsp;The&nbsp;'display'&nbsp;is&nbsp;ignored,&nbsp;unless&nbsp;it&nbsp;has&nbsp;the&nbsp;value&nbsp;'none'.</p>
<p>right<br>Same&nbsp;as&nbsp;'left',&nbsp;but&nbsp;content&nbsp;flows&nbsp;on&nbsp;the&nbsp;left&nbsp;side&nbsp;of&nbsp;the&nbsp;box,&nbsp;starting&nbsp;at&nbsp;the&nbsp;top.</p>
<p>none<br>The&nbsp;box&nbsp;is&nbsp;not&nbsp;floated.&nbsp;"</p>
<p>这说明浮动元素上的{display:&nbsp;inline;}会被忽略，事实上所有的浏览器没有呈现任何改变，包括IE。但是，它不知何故让IE停止将浮动元素的边界翻倍。因而，这个修复办法可以被直接应用，而没有任何繁琐的隐藏方法。如果将来的一款浏览器决定对这个修复办法抱恙，只要把这个修复装入IE独用的Tan&nbsp;Hack里，细节如同IE&nbsp;Three&nbsp;Pixel&nbsp;Text-Jog&nbsp;Demo。</p>
<p>下面是两个使用了前面相同代码的生动演示，第一个照常显示了IE的Bug，下一个对浮动元素使用了"inline"修复。<br>.floatbox&nbsp;{<br>float:&nbsp;left;<br>width:&nbsp;150px;<br>height:&nbsp;150px;<br>margin:&nbsp;5px&nbsp;0&nbsp;5px&nbsp;100px;<br>display:&nbsp;inline;<br>}</p>
<img src ="http://www.cppblog.com/PeakGao/aggbug/21159.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/PeakGao/" target="_blank">PeakGao</a> 2007-04-03 10:54 <a href="http://www.cppblog.com/PeakGao/archive/2007/04/03/21159.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>