📜  什么是 CSS 中的块格式上下文?

📅  最后修改于: 2022-05-13 01:56:43.435000             🧑  作者: Mango

什么是 CSS 中的块格式上下文?

在本文中,我们将了解 CSS 中的块格式化上下文及其实现。块格式上下文是可见 CSS 的一部分,将显示在块框位于外部的网页上。正常流是它所属的定位方案。这是一个块框布局发生的区域,浮动与其他元素交互。根据 W3C:

这些盒子一个接一个地垂直放置,从它包含的顶部块开始。 margin属性有助于确定 2 个兄弟框之间的垂直距离。它是一个 HTML 框,应至少满足以下条件之一:

  • 浮点值不应声明为无。
  • 位置值既不是静态的也不是相对的。
  • 显示值为 table-cell、table-caption、inline-block、flex 或 inline-flex。
  • 不应将溢出的值声明为可见。

下图说明了 Block 格式 Context 存在与不存在的区别。

  • 不存在块格式化上下文:

  • 块格式化上下文的存在:

我们将通过示例了解块格式上下文的概念。

示例1:本示例通过使用设置在左侧float属性和显示属性并将其值设置为inline-block来说明块格式上下文的使用;

HTML


  

    
  
    Block formatting Context in CSS
      
    

  

    
        
                             GeeksforGeeks                                         

                A Computer Science portal for geeks.                  It contains well written, well                 thought and well explained computer                  science and programming articles.             

        
           
                             GeeksforGeeks Placement                                         

                This course contains Placement                  preparation tracks and Weekly Mock                 Tests which will help you learn                  different topics and practice.             

        
    
  


HTML


  

    
    Block formatting Context in CSS
    

  

    
                     GeeksforGeeks                             

            A Computer Science portal for geeks.              It contains well written, well             thought and well explained computer              science and programming articles. We             provide a variety of services for              you to learn, thrive and also have             fun!         

    
  


说明:在这里,我们已经声明了容器类来创建块格式上下文。在容器类中,我们定义了另外 2 个 div 标签,它们具有 block1 和 block2 类,每个类中包含 2 个子 div,每个类具有主类和子主类。我们已经为每个类声明了 CSS 属性。对于 block1 类,为了使其左对齐,我们将float属性的值设置为,同时将框的宽度设置为 450px。为了使第二个框与第一个框相邻对齐,我们使用了display属性,我们将其值设置为inline-block。我们还使用了 padding-top、margin-top、margin-left 分别具有 5px、18 px 和 15 px 的值。

输出:

示例 2:在此示例中,使用了overflow属性,其值设置为auto将剪辑溢出,如果有任何内容,则添加滚动以显示其余内容。

HTML



  

    
    Block formatting Context in CSS
    

  

    
                     GeeksforGeeks                             

            A Computer Science portal for geeks.              It contains well written, well             thought and well explained computer              science and programming articles. We             provide a variety of services for              you to learn, thrive and also have             fun!         

    
  

说明:这里,我们用容器类声明了 div 标签,用 subcontain 类声明了 span 标签。为了使盒子向左对齐,我们将float属性的值设置为left,我们也使用了linear-gradient属性。

输出:

优点:

  • 块格式化上下文防止边缘下降。
  • 块格式化上下文阻止内容包装漂移。
  • 块格式上下文有助于感知两种不同物质的对比。