Blogger Information
Blog 33
fans 0
comment 2
visits 37330
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
三种常用的布局方式(绝对定位,双飞翼,圣杯布局)
cxw的博客
Original
1118 people have browsed it

1,绝对布局(其核心思想定义一个父级容器为子类相对其进行定位,不建议在项目中使用该布局方式)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>绝对定位实现三列布局</title>
</head>
<style>
body
{
    margin: 0px;
    padding: 0px;
    /*background-color: lightgray;*/
}
    .header ,.footer
    {
        width: 100%;
        height: 60px;
        background-color: lightgray;
    }
.content
{
    width: 1000px;
    min-height: 100%;
    background-color: gray;
    margin: auto;
    text-align: center;
    line-height: 60px;
}
    /*将绝对定位 main父级定位*/
    .main
    {
        position: relative;
        width: 1000px;
        height: 650px;
        background-color: wheat;
        margin: auto;
    }
.left{
     position: absolute;
      min-height: 100%;
      background-color: lightgreen;
      top:0px;
      left: 0px;
      width: 200px;
}
.right{
    position: absolute;
    min-height: 100%;
    background-color: lightcyan;
    top:0px;
    right: 0px;
    width: 200px;
}
    .center{
        margin: 0 200px;
        background-color: lightseagreen;
       min-height: 100%;
    }
</style>
<body>
<!--DOM结构-->
<!--头部-->
<div class="header">
    <div class="content">头部</div>
</div>

<!--//主体区块-->
<div class="main">
    <div class="left">左</div>
    <div class="center">中</div>
    <div class="right">右</div>
</div>
<!--//尾部-->
<div class="footer">
    <div class="content">底部</div>
</div>
</body>
</html>
运行实例 »

点击 "运行实例" 按钮查看在线实例

2,双飞翼布局(使用浮动float来实现布局,像国内的大型网站布局使用较多)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>双飞翼布局</title>
</head>
<style>
    .header ,.footer
    {
        width: 100%;
        height: 60px;
        background-color: lightgray;
        margin-bottom: 0px;
    }
    .content
    {
        width: 1000px;
        min-height: 100%;
        background-color: gray;
        margin: auto;
        text-align: center;
        line-height: 60px;
    }
    .container {
        width: 1000px;
        margin: auto;
        background-color: yellow;
    }
    .wrap{
        width: 100%;
        background-color: lightcyan;
        float: left;
    }
    .main{
        min-height: 600px;
        background-color: wheat;
        margin-left: 260px;
        margin-right: 250px;
    }
    /*使用伪类清除浮动造成的父容器塌陷*/
    .container:after{
        content: '';
        display: block;
        clear: both;
    }
    .left
    {
        width: 200px;
        min-height: 600px;
        background-color: lightblue;
        float: left;
        margin-left: -100%;
    }
    .right
    {
        width: 200px;
        min-height: 600px;
        background-color: red;
        float: left;
        margin-left: -200px;
    }
</style>
<body>
<!--双飞翼DOM结构-->
<!--头部-->
<div class="header">
    <div class="content">头部</div>
</div>
<!--//主体区块-->
<div class="container">
    <div class="wrap">
        <div class="main">主体内容</div>
    </div>
    <div class="left">左</div>
    <div class="right">右</div>
</div>
<!--//尾部-->
<div class="footer">
    <div class="content">底部</div>
</div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例

3,使用圣杯布局(核心思想和双飞翼差不多,但是圣杯加入了绝对定位实现布局,并且其在外国大多数网站使用较多)

实例

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>圣杯布局</title>
    <style>
        .header ,.footer
        {
            width: 100%;
            height: 60px;
            background-color: lightgray;
        }
        .content
          {
            width: 100%;
            min-height: 100%;
            background-color: gray;
            margin: auto;
            text-align: center;
            line-height: 60px;
          }
        .container{
            width: 1000px;
            margin: auto;
            background-color: lightpink;
        }
        .container .main{
            width: 100%;
            min-height: 650px;
            background-color: wheat;
            float: left;
        }
        .container .left{
            width: 200px;
            min-height: 650px;
            background-color:lightblue ;
            float: left;
            margin-left: -100%;
            position: relative;
            left: -200px;
        }
        .container .right{
            width: 200px;
            min-height: 650px;
            background-color: red;
            float: left;
            margin-left: -200px;
            position: relative;
            right: -200px;
            
        }
        .footer{clear: both}
        </style>
</head>
<body>
<!--圣杯DOM结构-->
<!--头部-->
<div class="header">
    <div class="content">头部</div>
</div>
<!--//主体区块-->
<div class="container">
    <div class="main">主体内容</div>
    <div class="left">左</div>
    <div class="right">右</div>
</div>
<!--//尾部-->
<div class="footer">
    <div class="content">底部</div>
</div>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例




Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post