十五天学会css之第十五天 两种布局 块级格式上下文

两种布局 块级格式上下文

两种经典布局

圣杯布局

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
    *{
        margin:0;
        padding:0;
    }
    body{
        min-width:600px;
    }
    .container{
        height:500px;
        padding:0 200px;
        box-sizing: border-box;
    }
    .container>div{
        height:100%;
        float:left;
    }
    .main{
        width:100%;
        background:pink;
    }
    .left{
        width:200px;
        background:lightblue;
        margin-left:-100%;
        position:relative;
        left:-200px;
    }
    .right{
        width:200px;
        background:lawngreen;
        margin-left:-200px;
        position:relative;
        left:200px;
    }
</style>
</head>
<body>
<div class="container">
<div class="main">main</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>
复制代码

双飞翼布局

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
    *{
        margin:0;
        padding:0;
    }
    body{
        min-width:600px;
    }
    .contain{
        height:500px;
    }
    .contain>div{
        height:100%;
        float:left;
    }
    .main{
        width:100%;
        padding:0 200px;
        background:pink;
        box-sizing: border-box;
    }
    .left{
        width:200px;
        background:green;
        margin-left:-100%;
    }
    .right{
        width:200px;
        background:hotpink;
        margin-left:-200px;
    }
</style>
</head>
<body>
<div class="contain">
<div class="main">
<div class="inner">
inner
</div>
</div>
<div class="left">left</div>
<div class="right">right</div>
</div>
</body>
</html>
复制代码

块级格式上下文

定义: 块级格式上下文全称Block Formatting Contexts ,简称BFC,它是一块独立的渲染区域,它规定了在该区域中,常规流块盒的布局。不同的BFC它们在进行渲染时互不干扰

  • 常规流块盒,在水平方向上,必须撑满包含块(也就是继承父级的宽度)
  • 常规流块盒,在排列方式上,是上下排列(块级元素的特点)
  • 常规流块盒,如果无缝相邻,则进行外边距合并(margin值穿透)
  • 常规流块盒的自动高度和摆放位置,会无视浮动元素

BFC 产生的条件

  1. 根元素:html
  2. 浮动和定位的元素(定位固定定位和绝对定位)
  3. overflow 不等于visible
  4. display 为以下其中之一的值 inline-block,table-cell,table-caption;
© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享