博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CSS:元素塌陷问题
阅读量:6251 次
发布时间:2019-06-22

本文共 674 字,大约阅读时间需要 2 分钟。

hot3.png

描述:

在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高。但是当子元素设置浮动之后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷。

1.给父元素加高度;问题:当子盒子的高度大于父盒子时,会溢出;

2父元素触发BFC

根据W3C标准,在页面中元素都有一个隐藏的属性叫Block Formatting Context,简称BFC,该属性可以设置打开或者关闭,默认是关闭的。

当开启BFC后,元素将会具有以下特性:

  • 元素的垂直外边距不会和子元素重叠
  • 开启BFC的元素不会被浮动元素所覆盖
  • 开启BFC的元素可以包含浮动元素

触发BFC(给父级加),满足下面任意一种即可:

Float的值不是none;带来的问题:父级元素的父级元素宽度为0)

position的值不是static/relative;(带来的问题:父级元素的父级元素宽度为0)

display的值为:inline-block;table-cell;

overflow的值不是visible;(带来的问题:IE6下不支持)

3.(最佳方案)给父级元素加class=Clearfix(固定的名字)

.clearfix::after{

    content: '';
    display: block;
    clear: both;
}

4.添加一个高度和宽度为0的div,作为子元素,并且清除浮动(可以兼容各种浏览器,但是会多一个无用的标签)

 

转载于:https://my.oschina.net/u/4045971/blog/3016903

你可能感兴趣的文章
ethereumjs/ethereumjs-blockchain-2-test
查看>>
centos7安装登录图形界面
查看>>
Css布局系列-float 浮动
查看>>
lowbit
查看>>
【总结】四月份找实习总结
查看>>
【JS】Intermediate7:jQuery:DOM API
查看>>
iphone-common-codes-ccteam源代码 CCUIApplication.h
查看>>
10,object类
查看>>
团队第一次作业
查看>>
Kooboo CMS 无聊随笔(2)
查看>>
static 和 global
查看>>
Ubuntu12.04安装及环境配置总结
查看>>
费马小定理,欧拉函数
查看>>
浮点型数据的比较
查看>>
json相关
查看>>
MpVue开发之框架的搭建
查看>>
js之放大镜效果
查看>>
Cocos2d之Node类详解之节点树(一)
查看>>
023-请你说一说你知道的自动化测试框架
查看>>
response (响应对象)
查看>>