zoukankan      html  css  js  c++  java
  • BFC布局

    我们常说的文档流分为普通流、浮动流与定位流三种。

    FC(formatting context格式化上下文),指的是一块渲染区域,依靠渲染规则,决定其子元素如何布局及与其他元素的关系和作用

    FC分为BFC、IFC、GFC和FFC,其中BFC(block formatting context)块级格式化上下文

    BFC特点

    1.内部的box会在垂直方向上,一个接一个地放置

    2.box垂直方向的距离由margin决定,属于同一个bfc的两个box相邻的margin会发生重叠

    3.每个box的左边,与包含box的box的左边相接触,即使存在float box

    4.bfc的区域不会与float box重叠

    5.bfc是一个隔离的独立容器,容器内的子元素不会影响外面的元素

    6.计算高度时浮动元素也参与

    BFC触发条件

    1.根元素,即html

    2.float不为none

    3.position为absolute或fixed

    4.display为inline-block、table-cell、table-caption、flex、inline-flex

    5.overflow不为visible

    常见应用

    1.清除浮动元素

    通过设置overflow:hidden 闭合浮动,这个不做赘述

    2.margin叠加

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                .up {
                    width: 100px;
                    height: 100px;
                    background: red;
                    margin: 50px;
                }
                .down {
                    width: 100px;
                    height: 100px;
                    background: green;
                    margin: 50px;
                }
            </style>
        </head>
        <body>
            <div class="up"></div>
            <div class="down"></div>
        </body>
    </html>

    由于up与down都处于html当中,所以默认margin叠加

    使用div包裹其中一个,并将此div转化为BFC布局,则可实现叠加

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title></title>
            <style type="text/css">
                .up {
                    width: 100px;
                    height: 100px;
                    background: red;
                    margin: 50px;
                }
                .cont-down {
                    overflow: hidden;
                }
                .down {
                    width: 100px;
                    height: 100px;
                    background: green;
                    margin: 50px;
                }
            </style>
        </head>
        <body>
            <div class="up"></div>
            <div class="cont-down">
                <div class="down"></div>
            </div>
            
        </body>
    </html>

  • 相关阅读:
    模板之导入include
    模板之继承
    jQuery ajax简单用法
    Django 路由系统URL
    Django 的简单使用
    python selenium web自动化的三种等待的区别
    Django的数据库介绍
    Django 安装与介绍
    插件轮播
    bootstrap 简单使用(实现图标和按钮下拉)
  • 原文地址:https://www.cnblogs.com/yanze/p/7511089.html
Copyright © 2011-2022 走看看