码迷,mamicode.com
首页 > 其他好文 > 详细

BFC

时间:2021-01-22 12:04:01      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:class   context   作用   level   utf-8   form   head   布局   影响   

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .p1{
                width: 100px;
                height: 30px;
                font-size: 20px;
                background-color: red;
                margin-bottom: 20px;
            }
            .p2{
                width: 100px;
                font-size: 20px;
                height: 30px;
                background-color: yellow;
                margin-top: 50px;
                
            }
            .d1{
                width: 1000px;
                height: 600px;
                border: 1px solid gray;
                margin: 0 auto;
            }
            .d2{
                width: 200px;
                height: 500px;
                background-color: red;
                float: left;
            }
            .d3{
                width: 500px;
                height: 500px;
                background-color: yellow;
                float: right;
            }
            .d4{
                /*width: 600px;*/
                height: 600px;
                background-color: green;
                overflow: hidden;
                /*display: inline-block;*/
                
            }
        </style>
    </head>
    <body>
        <!--
            BFC(Block Formatting Context)"块级格式化上下文"
            它是页面里的任意一块独立的渲染区域,只有Block-level box参与。
            在BFC内部有一定的排布规则,且这个区域与外部毫不相干。
            
            概念1:Box  页面布局的基本单位,一个页面有多个box组成,元素的默认类型和display样式,最终决定了这个box的类型。不同的box类型会参与不同的Fromatting Context.
            概念2:Formatting Context:这是css2.1提出的概念,是页面中的一块渲染区域,不同类型的元素会形成不同的渲染区域,其内部渲染规则不同,它决定了其内部子元素如何排列,
以及和其他元素之间的关系和相互作用,最常见的Formatting Context有两种:BFC(Block Formatting Context)和IFC(inline Formatting Context) BFC的布局规则
1.内部的行box(一行里所有行元素的组合)和块box全部会在垂直方向上,一个一个的放置 2.box垂直方向上的距离有margin决定,属于同一个BFC的两个相邻的box的margin会发生融合 3.每个盒子的margin的左边缘,与其父元素的左边缘相接触(如果发生了从右向左的格式化,效果相反),此条对于浮动元素依然适用。 4.BFC区域不会与float box重叠。 5.BFC区域是页面时一个独立的渲染区域,容器里的子元素不会影响外部元素,反之亦然。 6.计算一个BFC容器的高度时,浮动元素也会参与计算。 如何创建一个BFC 1.float的值不是none. 2.position的值不是static或者relative 3.display的值时inline-block,table-cell,flex,table-caption或者inline-flex 4.overflow的值不是visible。 --> <!--<div class="p1"></div> <div class="p2"></div>--> <div class="d1"> <div class="d2"></div> <div class="d3"></div> <div class="d4"></div> </div> </body> </html>

 

BFC

标签:class   context   作用   level   utf-8   form   head   布局   影响   

原文地址:https://www.cnblogs.com/mk0829/p/14309403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!