在CSS排版中,如果一个层中的层使用了float浮动的话,那么就有可能会出现外层没有被内层撑开的情况,如以下代码所示:
<div style="width:300px; background-color:Red;"> 测试 <div style="width:100px; height:100px; background-color:Green; float:left; margin:10px;"> 左边 </div> </div>运行结果如下图所示
overflow属性的默认值是visible,也就是不管它是怎么溢出的,溢出的内容不裁剪,任其显示在元素框外面。
除了visible值之后,overflow属性还有以下几个值:inherit:从父元素中继承overflow属性值。不过以前的IE版本都不支持该属性值,包括IE8,IE9还没试过。
由于本例中,外层的CSS没有指定overflow属性,所以默认为visible,也就是不管它怎么个溢出法,所以,只要将外层的CSS中加上overflow:auto,如以下代码所示:
<div style="width:300px; background-color:Red; overflow:auto;"> 外层 <div style="width:100px; height:100px; background-color:Green; float:left; margin:10px;"> 内层 </div> </div>运行结果如下图所示:
<div style="width:300px; background-color:Red; overflow:auto; height:80px;"> 外层 <div style="width:100px; height:100px; background-color:Green; float:left; margin:10px;"> 内层 </div> </div>以上代码的运行结果如下图所示。