margin塌陷/合并 BFC 浮动流

本文深入探讨CSS中Margin塌陷与合并现象,解析Block Format Context(BFC)机制及其触发方式,提供解决浮动布局问题的有效策略。

margin塌陷:存在父子关系的块级元素之间,在垂直方向上共用(谁的margin大用谁的)一个margin。

margin合并:存在兄弟关系的块级元素之间,在垂直方向上共用(谁的margin大用谁的)一个margin。(不会对开发造成太大影                           响,可以不去解决他)

 BFC:           Block Format Context  

   BFC的元素会改变一点点原来所应该遵循的语法规则。然后就能解决上述的margin塌陷/合并问题。

   设置块级元素的下列属性之一就会触发BFC:(至于具体用哪个去解决margin塌陷/合并问题,根据情况选择)

 position:absolute

display:inline-block

float:left/right

overflow:hidden

浮动:在子元素上加float:left/right属性就可以实现浮动。如果浮动元素不能一行展示,那么会自适应换行。

浮动元素产生了浮动流,所有产生浮动流的元素,块级元素看不到他们,产生了BFC的元素,文本类(inline-block)元素以             及文本都能看得见浮动元素。

浮动会带来的问题:父级元素是看不见浮动元素的块元素,子元素是浮动元素。那么父级元素就包裹不住子元素。

如何解决

1.在子元素的最后再结构中添加一个p标签,然后在p标签中设置css属性:clear:both/left/right。(但是这样更改了html代码 不建议这样用)

2.给父级元素中的伪元素添加css属性clear:both/left/right来清除浮动流。必须是块级元素clear才能生效。

3.把父级元素变成BFC元素,这样它就能看得见子元素(浮动元素)了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值