解决浮动造成父级边框塌陷的方法


浮动元素后面加空div

在浮动元素后加div,设置该div的clear属性值为both(清楚前面浮动的元素对该div的影响)

<html>
    <head>
        <style>
            /*其他元素浮动此处省略*/
            .clear{  clear: both;  margin: 0; padding: 0;}
        </style>
    </head>
    <body>
        <div id="father">
           <div><img src="1.jpg"/></div>
           <div><img src="2.jpg"/></div>
           <div><img src="3.jpg"/></div>
           <div>浮动的盒子</div>          
           <div class="clear"></div> 
    </body>
</html>

 此种方式简单,但空div会造成HTML代码冗余

设置父元素的高度

/*此处针对上面的代码给最后一个子元素样式*/
#father {height: 600px; border:1px #000 solid; }

此种方式简单,但元素高度固定会降低扩展性

父级添加overflow属性

/*此处针对上面的代码给最后一个子元素样式*/
#father {overflow: hidden;border:1px #000 solid; }

此种方式简单,但下拉列表框的场景不能用

父级添加伪类after

/*此处针对上面的代码给最后一个子元素样式*/
.clear:after{
     content: '';          /*在clear类后面添加内容为空*/
     display: block;      /*把添加的内容转化为块元素*/
     clear: both;         /*清除这个元素两边的浮动*/
 }

此种方式稍微复杂,是直接通过css给父级div里的最后位置添加一个子元素(块元素),不造成任何副作用,推荐使用这种!!!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值