CSS的浮动

css将页面分成很多个层级,肉眼看见的是最顶层,最底层称为文档流层,所有元素默认在文档流层

一、浮动的好处

父元素的高度不需要设置具体值,而是由子元素撑开的,不会因为子元素的内容减少出现大两的空白区域,也不会因为子元素的内容过多出现大量的空白区域

浮动的特点:

1.脱离文档流之后不需要区分块和行内元素

2.浮动元素不会盖住文字

3.浮动元素会完全脱离文档流,不再占用文档流中的位置,下面未设置浮动的元素自动上来

4.浮动元素默认不会从父元素中移出

5.如果浮动元素的上边是一个没有浮动的块元素,则浮动元素无法上移 如下图所示

6、浮动元素不会超过它上边的浮动的兄弟元素,最多最多就是和它一样高

二 、浮动带来的高度坍塌问题

当子元素设置浮动,会脱离文档流,但父元素还在文档流中,由于父元素是被子元素的欸容撑开的,会导致父元素的高度丢失,其下面的元素会自动上移,导致页面布局混乱

高度坍塌的解决办法(4种)

1.给父元素设置高度(不可取)

     给父元素固定高度违背了高度自适应的原则,不够灵活,当不知道父元素的具体高度时没办法设置,不推荐使用

2.给父元素添加属性: overflow:hidden 引出BFC

BFC的定义:就是给盒子增加一个属性,让盒子变成一块独立渲染的区域,可以理解为一个箱子,箱子里面的物品摆放是不受外界应影响的

3. 在最后一个浮动的元素后面添加一个空的div给该元素添加属性

 在也页面中添加没有意义的div,形成冗余代码。

4.万能清除浮动法

在父元素中内容的最后添加一个伪元素来实现
         
父元素选择符::after{
content:"";
display:block;
clear:both;
}

5.同时解决高度坍塌和外边距重叠

.clearfix{
    content:"";
    display: table;
    clear: both;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值