CSS中浮动的作用与影响(包含清除浮动影响的方法)

今天来总结一下浮动

浮动(float)

作用:解决盒子并排问题

标准流: 一行一个 从左侧边界开始放置

浮动带来一个现象, 盒子并排放置 —> 脱离标准流 ,成为浮动流—> 不占界面位置

float:left / right /  none(默认值) ;

left: 找父元素的左边界停靠
right: 找父元素的右边界停靠
none: 保持原有的位置 标准流
每一个并排的盒子身上都要加浮动属性

影响

在这里插入图片描述
脱离标准流 ,成为浮动流—> 不占界面位置—> 导致其他盒子向上移动

父盒子的高度塌陷: 父盒子高度本来是由子元素撑开的,父亲的高度计算是从内容的高度得来的, 现在由于浮动元素不占位置,所以子元素高度无法计算,父盒子的高度就他塌陷了.

清除浮动的影响

现象:

1: 给父盒子定高 height

缺点: 不实际 实际中就是有时侯高度就是auto

2: 给父元素加overflow:hidden属性

触发BFC规则 (私人区域)

处于BFC规则的盒子 其外的元素不会影响到它,它内部的元素也不会影响其外的盒子

BFC规则说:只要是BFC盒子内部子元素浮动了,则父盒子会计算浮动子元素的高度

缺点: 会隐藏掉故意溢出的元素
在这里插入图片描述
3:css属性中 空标签法清除浮动影响

clear:left/right/both  clear:both 

属性必须依靠结构存在  ----> 必须写在body
<div style="clear:both"></div>  块级元素  可以清除
<span style="clear:both"></span>  行内元素  试了  不可以

空标签法 清除浮动影响 放置在所有浮动子元素之后

清除浮动影响的元素必须是块元素

缺点: 增加了无用(没有用户展示数据)空标签 导致文档树变大 ,结构冗杂

4:双伪元素法清除浮动影响

上面方法增加了空的结构标签 —-> 用css去创造这个空的结构标签

伪元素的写法: E 代表元素 
1: E::after {
    //作用是插入一个节点(块级元素,行内元素,行内块元素)到E元素所有内容之后
    
    content:' 文本内容';//设置伪元素的文本内容 
    
}
2: E::before {
    //作用是插入一个节点(块级元素,行内元素,行内块元素)到E元素所有内容之前
    content:'文本内容';
    
}

伪元素默认的显示模式是行内模式
最终方案:放到拥有浮动子元素的父元素身上即可

.clearFix::after,.clearFix::before {
    content:'.';
    line-height:0;
    font-size:0;
    height:0;
    display:block ;// 原因: 只有块级元素才能清除浮动影响
    clear:both ; 
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值