Home > Web Front-end > HTML Tutorial > 圣杯布局与双飞翼布局 - 说中

圣杯布局与双飞翼布局 - 说中

WBOY
Release: 2016-05-20 13:49:32
Original
1511 people have browsed it

圣杯布局和双飞翼布局的目的都是:左右两栏固定宽度,中间部分自适应;

圣杯布局

圣杯布局HTML

<div class="wrap">
  <div class="main">
    我是主要
  </div>
  <div class="left">
    我是左边
  </div>
  <div class="right">
    我是右边
  </div>
</div>
Copy after login

圣杯布局CSS:

* {
    margin: 0;
    padding: 0
}

.main {
    background-color: yellow;
    height: 100px;
    float: left;
    width: 100%;
}

.left {
    background-color: red;
    width: 200px;
    height: 100px;
    float: left; 
    margin-left: -100%; /*margin负边距*/
    position: relative; /*相对自身偏移*/
    left: -200px; 
}

.right {
    background-color: blue;
    width: 200px;
    height: 100px;
    float: left;
    margin-left: -200px; /*margin负边距*/
    position: relative;  /*相对自身偏移*/
    right: -200px;   
}

.wrap {
    padding: 0 200px;  /*父级设置padding*/
}
Copy after login

圣杯布局的优点

  使主要内容列先加载。
  允许任何列是最高的。
  没有额外的div。
  需要的hack很少。

双飞翼布局

双飞翼HTML

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8"/>
        <title>
            双飞翼布局
        </title>
        <link rel="stylesheet" href="main.css"/>
    </head>
    <body>
        <div class="main-wrap">  <!-- 把main嵌套在一个div里面 -->
            <div class="main">   
                我是主要
            </div>
        </div>
        <div class="left">
            我是左边
        </div>
        <div class="right">
            我是右边
        </div>
    </body>
</html>
Copy after login

双飞翼CSS

.main-wrap {
    float: left;
    width: 100%;
}

.main {
    height: 100px;
    margin-left: 200px;  /*利用左、右外边距定位*/
    margin-right: 200px;
    background-color: yellow;
}

.left {
    background-color: red;
    width: 200px;
    height: 100px;
    float: left;
    margin-left: -100%;
}

.right {
    background-color: blue;
    width: 200px;
    height: 100px;
    float: left;
    margin-left: -200px;
}
Copy after login

圣杯布局和双飞翼的比较

1.两种布局都是把主要内容放在前面加载;

2.布局有相似之处,都使用了负外边距来布局;

3.不同:

圣杯布局是设置 父容器的padding值、相对定位来实现;

双飞翼布局是给main添加了一个div容器、设置main的左右外边距 来实现;

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template