CSS布局教程

基于web标准的网站设计指南

« 基于背景控制的导航优化不规则文字环绕 »

高度不适应

高度不适应指的是当内层对象的高度发生变化时,外层对象的高度不能自动进行调节,特别是当内层对象使用margin或paddign时。高度不适应问题不是IE的专利,就连Mozilla/Firefox也出现了这种问题。不适应主要发生在两个嵌套的对象中,这里div作为外层对象,而p作为内层对然后编写以下的CSS代码,看看代码做了了什么, 除了了背景之芝外,#box jx是一个几乎没有任何样式的div,而pQ象翌了两个非常关键的属性:margin-top:20px;margin-bottom:20px;上下外边距都是20px,这时照前面的盒模型原理,p对象的高度应当是20+20+文字的高度,应当在30px以上。理论上,由于p的高度在30px,#box这个div的高度也应当是由p的高度挤开,至少达到30px,我们看看预览后的效果。天津网站优化
预览的效果似乎并非预想的结果,看上去带背景的#box似乎还是和文字一样高,辩没有超过3px,这是为什么呢?支为了验证一些事情,我们在Ⅻ眦中前面和后面都加上—个带背景颜色的div。要观察的对象前后都加了一个class为box2的div,接下来加入—些样式让它能够有颜色方便我们观看。可以注意到,上下两个div也并没有紧贴纳OX对象,而是有了间距效果,测量一下会发:现这个间距刚好就是p对象的margin上下各20px,这个测试验证了一个问题,就是件box对象并没有因为其中的p对象的margin变化而改变自身的高度,但是p对象的margin高度,又的确在整个页面中占了一定的空间。天津网站建设天津网站制作
IE与Mozilla/Firefox在实际测试中都会发现这个问题,如果在制作多个div嵌套布局时,对页面的设计会产生一定的影响,如何解决这个问题呢?天津做网站
经过一些测试,我们发现如果对#box定义padding或border,会使#box重新计食渗V高度,#box自身上下各有lpx的内边距,这样会使得#box根据自己的内边距的值与其中内容的岁大小,重新计算自己的高度,从而使自身能够适应内容的高度变化。或者使用border也能够做到,例如:’使用一二孓盒刚椭小妹:、背景下下看不见这个边框,但#box自身会因为这个边框的产开始适应内容的高度。但这两个解决方法都会引发问题,如padding:1 px o;之后,’感錚容的上间距,实际上是内容的margin-top:20px;加上#box的padding-top:l px;蜀    寸。值是21px,如果对设计要求较高,这个值显然不符合要求,因此,如果要达到完全精确的解决问题,我们需要找到一个新方法,不再从#box本身的属性入手,而是在#box内部进行修复,我们可以修改XHTML代码加一些新的对象

  • 相关文章:

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By Z-Blog 1.8 Arwen Build 90619

Copyright www.zxh6655.cn. Some Rights Reserved.黑ICP备09093629号