从《Designing With Web Standards》上看盒模型

[ 2006-6-15 19:05:00 | By: 99love ]
今天粗看了一下《Designing With Web Standards》,才发现原来是这样,还终于明白了阿捷的CSS Hack的用法。
假定一个box(http://www.tantek.com/CSS/Examples/boxmodelhack.htm),
div.boxtest {
 border:20px solid;
 padding:30px;
 background:#FFC;
 color:#000;
 width:300px;
}
正解理解CSS的浏览器将创建一个总宽度为400px(20+30+300+30+20=400)的盒。但outdated versions of IE/Windows(老式的IE/Windows,这句话我不是很理解。老式的IE是哪些版本?)会从内容区的300px减去border和padding,使得内容区变为200px(300-20-30-30-20=200px)。所以我们给它们指定一个400px的false value(伪值,同时也是我们想要的真实值)。然后就是把IE4/5 Windows不能理解的CSS放入后面,再给出真实值。如:
div.content {
  width:400px;
  voice-family: "\"}\"";
  voice-family:inherit;
  width:300px;
}
在最后的定义中,我们赋予其真实值:300px。当IE5.*/Widows遇到不能理解的声音属性时就不再阅读定义,但更好的浏览器会继续阅读。并执行其真实值300px。
另外,由于Opera(至少Opera 7以前的版本)也不能解析,所以在Opera上也使用伪值。如下:
html>body .content {
  width:300px;
}
所以,符合标准的浏览器盒模型解释是这样的:
width指定的值为内容区。内容区之外是padding,再外是border,再外是margin。

发表评论:

    密码:
    主页:
    标题:
    页面数据正在载入...
bxna 京ICP备05002321号