当父级元素高度不定,子级元素浮动之后致使布局破坏父级没法撑开。解决这种状况的方式叫作清除浮动css
*浮动之后html
<div id="outer">
<div id="inner"></div>
</div>
复制代码
解决方法bash
#outer{
width: 200px;
overflow: hidden;
}
#inner{
width: 100px;
height: 100px;
float: left;
}
复制代码
当内容超出元素框时,overflow可对内容进行处理。布局
<div id="outer">
<div id="inner"></div>
<div id="clear"></div>
</div>
复制代码
解决方法ui
#outer{
width: 200px;
}
#inner{
width: 100px;
height: 100px;
float: left;
}
#clear{
clear: both;
}
复制代码
缺点:生成了多余的html元素spa
<div id="outer">
<div id="inner"></div>
</div>
复制代码
解决方法code
#outer{
width: 200px;
border: 1px solid red;
}
#inner{
width: 100px;
height: 100px;
border: 1px solid #333;
float: left;
}
#outer::after{
clear: both;
content:'';
display: block;
}
复制代码
使用伪元素能达到上面一样效果,但没有生成html元素为更优解。cdn
<div id="outer">
<div id="inner"></div>
</div>
复制代码
解决方法htm
#outer{
width: 200px;
border: 1px solid red;
display: flow-root;
}
#inner{
width: 100px;
height: 100px;
border: 1px solid #333;
float: left;
}
复制代码
css高级用法,BFC清除浮动blog