document.write('

解析:

1.空标签清除浮动 .clear{clear : both;} 优点:通俗易懂,容易掌握。 缺点:会添加大量无语义空标签,结构与表现未分离,不利于维护。

2.br 标签清除浮动 优点:比空标签方式语义稍强,代码量较少。 缺点:结构与表现未分离,不推荐。

3.父元素设置 overflow:hidden 优点:不存在结构和语义化问题,代码量少。 缺点 :内容增多时容易造成不会自动换行的后果,导致内容被隐藏,无法 显示需要溢出的元素。IE6 需要触发 haslayout。

4.父元素设置 overflow:auto 优点:不存在结构和语义化问题,代码量少。 缺点:多个嵌套后,Firefox 在某些情况下会造成内容全选;IE 在 mouseover 造成宽度改变时会造成最外层模块出现滚动条。IE6 需要触发 haslayout。

5.父元素浮动 优点:不存在结构和语义化问题,代码量少。 缺点 :与父元素相邻的元素的布局会受到影响,不可能一直浮动到 body, 不推荐。

6.父元素设置 display:table; 优点:结构语义化完全正确,代码量少。 缺点:盒模型属性已经改变,不推荐。

7.使用 :after 伪元素(不是伪类) 优点:结构和语义化完全正确,代码量居中。 缺点 :复用方式不当会造成代码量增加。由于 IE6 和 IE7 不支持 :after,使 用 zoom:1 触发 haslayout。

');