position脱离文档流与浮动脱离文档流的区别

以前我觉得position:absolute;是可以脱离文档流的,float:left;也可以脱离文档流,就觉得二者是一样的,感觉可以去浮动的方法来解决position:absolute;引起的父元素塌陷问题,结果证明我错了。。。下边是一个demo.

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <style type="text/css">            
 7              ul{
 8                  width: 200px;
 9              }
10             ul li{
11                 list-style: none;
12                  left: 2px;
13                 width: 200px;
14                 height: 100px;
15                 position: absolute;
16                 }
17             .a{background-color: #8EC63F;}
18             .b{background-color: red;}    
19             .c{background-color: gray;}
20         </style>
21     </head>
22     <body>
23         <ul class="d">             
24             <li class="a">1</li>
25             <li class="b">2</li>
26             <li class="c">3</li>
27             <p style="clear: both;"></p>
28         </ul>
29     </body>
30 </html>
View Code

觉得添加clear:both;可以解决ul 高度宽度的问题,结果我大错特错了。。。position:absolute;中已经引起脱离文档流,这个原理和float:left:引起的浮动问题是不一样的,所以不能用清除浮动的方法解决position:absolute;引起的高度塌陷问题。

下边这个是float:left;引起的浮动问题,就可以用清除浮动的方法;

 1 <!DOCTYPE html>
 2 <html>
 3     <head>
 4         <meta charset="UTF-8">
 5         <title></title>
 6         <style type="text/css">            
 7             
 8             ul li{
 9                 list-style: none;
10                  left: 2px;
11                 width: 200px;
12                 height: 100px;
13                 float: left;
14                 }
15             .a{background-color: #8EC63F;}
16             .b{background-color: red;}    
17             .c{background-color: gray;}
18         </style>
19     </head>
20     <body>
21         <ul class="d">             
22             <li class="a">1</li>
23             <li class="b">2</li>
24             <li class="c">3</li>
25             <p style="clear: both;"></p>
26         </ul>
27     </body>
28 </html>
View Code

 

转载于:https://www.cnblogs.com/gaoxuerong123/p/7152516.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值