前端H5

04-双飞翼布局

2019-07-19  本文已影响0人  博行天下

圣杯布局和双飞翼布局其实本质是一样的,区别请看下面代码分析

一、 html结构:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-
scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>双飞翼布局</title>
    <style>

    
    </style>
</head>
<body>

    <div class="container">
        <div class="main">
            <div class="main-content">中间内容</div>
        </div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>

</body>
</html>
二、CSS样式

(1)定义容器样式

 body{
            padding: 0;
            margin: 0;
            text-align: center;
            height: 200px;
            line-height: 200px;
        }

        .container{
            min-width:400px;
            height:200px;
            background-color: blue;
        }
        .left,.right{
            width:200px;
            height:200px;
            background-color: green;
            float: left;
        }
        .main{
              width:100%;
              height:200px;
              background-color: red;
              float: left;
        }

在浏览器中的效果:


image.png

(2)为父容器container添加margin


.main-content{
          margin: 0 200px;
 }

image.png

(3).left的移动(重点)

.left{
            margin-left:-100%;
        }
image.png

(4).right的移动

.right{
            margin-left: -200px;
        }
image.png

不会直接移动到蓝色框和上面的.left是同样的原因。 接下来我们为.right添加margin-left:-200px的样式:

.right{
margin-left: -200px; position: relative; //新加样式
}

在浏览器中的效果:


image.png

所有实现代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport"
          content="width=device-width, user-scalable=no, initial-
scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>

        body{
            padding: 0;
            margin: 0;
        }

        .container{
            min-width:400px;
            height:200px;
            background-color: blue;
        }
        .left,.right{
            width:200px;
            height:200px;
            background-color: green;
            float: left;
        }
        .main{
              width:100%;
              height:200px;
              background-color: red;
              float: left;
        }
        .left{
            margin-left:-100%;
        }
        .right{
            margin-left: -200px;
        }
        .main-content{
            margin: 0 200px;
        }
    </style>
</head>
<body>

    <div class="container">
        <div class="main">
            <div class="main-content">中间内容</div>
        </div>
        <div class="left">left</div>
        <div class="right">right</div>
    </div>

</body>
</html>

喜欢的关注下公众号哦,每天都有新的博文推送哦


wechat.jpg
上一篇 下一篇

猜你喜欢

热点阅读