网站制作学习网经验与学习→正文:如何在IE里实现最小高度
字体:

如何在IE里实现最小高度

经验与学习 2010/2/26 16:46:20  点击:不统计

本文原载于www.forasp.cn
要实现最小高度,在FF下轻而易举,只要定义一个min-height就可以了,但是,ie不能识别min-height这个属性,那么我们有什么办法在ie下也能实现最小高度呢,看下面的例子:

结构部分:
<div class="box">
<p>很多时候 我们都想在IE里实现这样的布局:一个容器box有一个固定的高度 当内容超出固定高度时自动伸缩</p>
<p>这个布局对FF来说是小事一桩 只要给box定义一个min-height值就可以了 但遗憾的是IE不能识别这个属性 那我们有什么办法让IE也支持min-height吗?答案是肯定的,必须的。</p>转载%77%77%77请%2E%66%6F%72%61%73%70%2E%63%6E注明
</div>

css:
.box{
  margin:0 auto;
  padding:10px;
  border:1px solid #ccc;
  width:500px;
  min-height:45px;/*为FF定义min-height*/
  height:auto;/*IE里高度自动*/
  height:45px;/*再为IE设置一个固定高度值*/

  }
p{
  margin:0;
  line-height:20px;
  text-indent:2em;
  font-size:12px;
  }
在IE下:box的高度随着内容的增加自动拉伸了,即使将第二个p删除,我们发现,它还是可以保持45px的高度,嘿嘿,我们想要的效果实现啦!但很多时候,在CSS的世界里,总是解决了一个问题,又会出现另一个问题,这里也是转载%77%77%77请%2E%66%6F%72%61%73%70%2E%63%6E注明
在FF下:一开始box是定义了一个边框的,这个时候,你会发现,box的边框线并没有像IE里那样在外面,而是被压在了内容的下面。这个问题的原因是因为:FF只识别了一开始定义的min-height,并没有识别auto,所以我们在这里给它来个hack,height:auto !important; 再到FF刷新看一下页面,是不是正常了呢?

也就是说box的css应该是这样:
.box{
margin:0 auto;
padding:10px;
border:1px solid #ccc;
width:500px;
min-height:45px;
height:auto!important;
height:45px;
}
还有一个小的问题,是我个人的另外的一点想法:我觉得如果这个box没有边框或者背景颜色之类的修饰,可以不考虑 height:auto!important; 直接 height:auto;就可以了,不会影响到现实的效果。
%77w%77%2Ef%6F%72p%73%70%2Ec%6E

·上一篇:解决firefox点击验证码不变化 >>    ·下一篇:Intel处理器ULV >>
推荐文章
最新文章