圣杯布局和双飞翼布局

  圣杯布局及双飞翼布局主要用于解决左右两边盒子固定宽度。中间盒子宽度自适应的问题。

 

  圣杯布局:

doctype html>
<html>

<head>
    <title>圣杯布局title>
    <meta charset="utf-8">
    <style>
        body {
            min-width: 800px;
            margin: 0;
            padding: 0;
        }

        .container {
            padding: 0 300px 0 200px;
            overflow: hidden;
        }

        .header {
            width: 100%;
            height: 100px;
            background-color: lightblue;
        }

        .footer {
            width: 100%;
            height: 50px;
            background-color: lightblue;
        }
        .middle, .left, .right{
            position: relative;
        }
        .middle {
            float: left;
            width: 100%;
            height: 100px;
            text-align: center;
            background: lightcoral;
        }

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

        .right {
            float: left;
            width: 300px;
            height: 100px;
            margin-left: -300px;
            right: -300px;
            background: lightseagreen;
        }
    style>
head>

<body>
    <div class="header">headerdiv>
    <div class="container">
        <div class="middle">middlediv>
        <div class="left">leftdiv>
        <div class="right">rightdiv>
    div>

    <div class="footer">footerdiv>
body>

html>

  双飞翼布局:

doctype html>
<html>

<head>
    <title>圣杯布局title>
    <meta charset="utf-8">
    <style>
        body {
            min-width: 800px;
            margin: 0;
            padding: 0;
        }

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

        .header {
            width: 100%;
            height: 100px;
            background-color: lightblue;
        }

        .footer {
            width: 100%;
            height: 50px;
            clear: both;
            background-color: lightblue;
        }
        .middle {
            margin: 0 300px 0 200px;
        }

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

        .right {
            float: left;
            width: 300px;
            height: 100px;
            margin-left: -300px;   
            background: lightseagreen;
        }
    style>
head>

<body>
    <div class="header">headerdiv>
    <div class="container">
        <div class="middle">middle <div>hahahdiv>div>
    div>
        <div class="left">leftdiv>
        <div class="right">rightdiv>
    <div class="footer">footerdiv>
body>

html>

   另外用弹性盒模型可以很容易的构造三列布局

<html>
    <head>
        <meta charset="utf-8">
        <style>
            body{
                margin: 0;
            }
            .container{
                display: flex;
                height: 100px;
            }
            .middle{
                width: 100%;
                background: lightblue;
            }
            .left,.right{
                background: lightcoral;
                width: 200px;
            }
        style>
    head>
    <body>
        <div class="container">
            <div class="left">leftdiv>
            <div class="middle">middlediv>
            <div class="right">rightdiv>
        div>
    body>
html>

 

你可能感兴趣的:(圣杯布局和双飞翼布局)