闭合浮动元素的方法比较

原形

1. 不清除浮动

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

2. div2内的浮动的p清除浮动

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

解决div2的高度自适应

1. 利用div2内的最后1个元素不浮动的p3清除浮动

1-1 .div2p3 { clear:left; }

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

1-2 div2设定“margin-left: 120px;”

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

2. 利用:after,插入内容”

2-1 .div2:after { …… }

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

2-2 div2设置“margin-left: 120px;”

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

3. 利用overflow属性

3-1 .div2 { overflow:auto; }

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

3-2 div2设置“margin-left:120px;”

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

3-3 div2设置“margin-left:0;”

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动

4. div2设置“float:left”

div1,浮动

div2内p1

div2内p2

div2内p3,不浮动

div3,不浮动