首页 > 其他分享 >overflow:hidden如何消除浮动的

overflow:hidden如何消除浮动的

时间:2024-02-17 19:12:26浏览次数:28  
标签:浮动 BFC 容器 元素 overflow hidden

 

当一个元素被浮动(float)时,它会脱离正常的文档流,可能导致其父容器无法正确地计算高度,从而影响布局。

使用 overflow: hidden; 时,它会创建一个块级格式化上下文(Block Formatting Context,BFC),这会导致父容器包裹浮动元素,而不再受到浮动元素的影响。

具体步骤是这样的:

  1. 当一个元素的 overflow 属性被设置为 hidden 时,它会创建一个新的块级格式化上下文(BFC)。
  2. BFC 的边界会阻止浮动元素影响到父容器的外部。
  3. 父容器会包裹浮动元素,确保正确计算高度。

这种方法虽然可以解决一些布局问题,但也需要注意可能带来的副作用。例如,如果子元素超出了父容器的范围,被裁剪掉的部分可能无法被访问到。

示例

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <style>
        .container {
            border: 1px solid #ccc;
            /* 为了更清晰看到容器边界 */
            overflow: hidden;
            /* 创建 BFC,解决浮动问题 */
        }

        .float-box {
            float: left;
            width: 100px;
            height: 100px;
            background-color: lightblue;
            margin: 10px;
        }
    </style>
    <title>overflow:hidden如何消除浮动</title>
</head>

<body>
    <div class="container">
        <div class="float-box">A</div>
        <div class="float-box">B</div>
        我是container
        <!-- 更多浮动元素... -->
    </div>
</body>

</html>

效果:

 

注释掉overflow: hidden; 后的效果

    /* overflow: hidden; 创建 BFC,解决浮动问题 */

 

注意:overflow: hidden; 编写的位置是定位父元素的选择器中。这样可以浮动元素包裹在父元素内

标签:浮动,BFC,容器,元素,overflow,hidden
From: https://www.cnblogs.com/allenxx/p/18018229

相关文章

  • Go - int overflow
     funcmain(){fmt.Printf("math.MaxInt32:%d\n",math.MaxInt32)fmt.Printf("math.MinInt32:%d\n",math.MinInt32)varcounterint32=math.MaxInt32counter++fmt.Pri......
  • overflow滚动条样式修改
    当div用overflow:scroll;时可以用伪元素::-webkit-scrollbar来设置滚动条样式/*滚动条*/::-webkit-scrollbar{width:10px;/*设置滚动条宽度*/}/*滚动手柄*/::-webkit-scrollbar-thumb{height:30......
  • CSS3属性之 text-overflow:ellipsis
    语法:text-overflow:clip|ellipsis默认值为clip不显示省略标记clip:当前对象内文本溢出时不显示省略标记,而是将溢出部分裁剪。ellipsis:当对象内文本一处时显示省略标记(...)。 一、常见的单行文本溢出显示省略写法:text-overflow:ellipsis;overflow:hidden;white-sp......
  • 等价路由/浮动路由/路由聚合
    一、等价路由一般来说,路由表内只存有一条最优路径最优路径的选举方法就是依次比较掩码长度、协议优先级和度量值(开销值),但是,小伙伴们有没有考虑过一个问题,那就是如果这三项数值都一样呢???解答就是如果来源和目的网段相同且三项数值都一致的话,两条链路就会变为一条逻辑链路,也......
  • Visual Stdio 调试出现0xC00000FD:Stack overflow原因及解决方法
    原因:由于系统分配给一个进程的栈空间是一定的,当一个.cpp文件中的栈空间大于系统为该进程所分配的栈空间时,就会报栈溢出错误。解决方法:方法一:动态分配内存不要静态分配内存,用new或malloc来动态创建,从堆中分配内存,因为堆的空间足够大。但是要记得使用free或delete手动释......
  • Latex 图片浮动问题
    本文转载自LiamHuang此篇介绍一下LaTeX中的浮动体基本概念,以及最常见的几个问题。浮动体是什么   在实际撰写文稿的过程中,我们可能会碰到一些占据篇幅较大,但同时又不方便分页的内容。(比如图片和表格,通常属于这样的类型)此时,我们通常会希望将它们放在别的地方,避免页面空间......
  • 浮动布局小练习
    分析如下实现代码<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title>Document</ti......
  • 浮动路由及负载均衡
    拓扑:配置:查看代码[R1]discurrent-configuration[V200R003C00]#sysnameR1#boardadd0/12SA#snmp-agentlocal-engineid800007DB03000000000000snmp-agent#clocktimezoneChina-Standard-Timeminus08:00:00#portallocal-serverloadportalpage.......
  • text-overflow:ellipsis 设置超出省略号不管用的原因可能是哪些
    text-overflow:ellipsis设置超出省略号不管用的原因可能是哪些text-overflow:ellipsis设置超出文本内容显示省略号(…)可能不管用的原因有以下几点:容器宽度没有限制:text-overflow:ellipsis与overflow:hidden配合使用时,需要确保文本容器具有固定的宽度,并且该宽度不足以......
  • 浮动许可证软件资产管理:降本增效的秘密武器!
    随着信息化建设的发展,软件已经成为企业运营的重要工具。然而,许多企业在采购软件时,却常常面临许可证不足、浪费严重的问题。这些问题不仅增加了企业的运营成本,也影响了企业的运营效率。那么,如何有效地管理软件资产,降低采购成本,提高运营效率呢?答案就是——软件资产管理。软件资产管理......