解决css浮动,导致父元素无高度问题

当对象使用了float样式后,父对象本身不能被撑开,这个问题只要做过些web开发的朋友都会遇到,这边文章就来讲下如何解决此问题。

我先贴一段代码,看下问题:

.float_item {
    border: 3px solid red;
    width: 400px;
    text-align: center;
}

.left {
    width: 50%;
    height: 150px;
    line-height: 150px;
    background: rgba(0, 0, 0, 0.3);
    float: left;
}

.right {
    width: 50%;
    height: 150px;
    line-height: 150px;
    float: left;
    background: rgba(0, 255, 255, 0.3);
}
<div class="float_item">
    <div class="left">左侧浮动块</div>
    <div class="right">右侧浮动块</div>
</div>

运行后的效果是这样的:

css浮动导致父元素无高度问题

红色边框没有高度,如果下方有元素,排版时就会和浮动元素重叠,这个显然不是我们想要的。我们希望的样子应该是这样的:

我们希望的样子

为了实现图二的效果,可以采用如下方法
方案一:添加clear元素

<div class="float_item">
    <div class="left">左侧浮动块</div>
    <div class="right">右侧浮动块</div>
    <div style="clear:both;"></div>
</div>

方案二:添加overflow样式

<div class="float_item" style="overflow:hidden">
    <div class="left">左侧浮动块</div>
    <div class="right">右侧浮动块</div>
</div>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,796评论 1 92
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,212评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,142评论 25 708
  • 有感于中国人在房产教育等支付偏好过于强大,号称无所不能的互联网思维也没能解决这个强痛点问题,这个痛点估计就等AI来...
    新时代士的精神阅读 478评论 0 4
  • 一年入灵谷 清夜数流萤 流萤数不尽 堪比满辰星
    清风浦上阅读 197评论 0 0