三种方法实现CSS三栏布局

作者: a3aac2d1b674 | 来源:发表于2019-02-13 11:24 被阅读8次

本文由云+社区发表

作者:前端林子

本文会分别介绍三种CSS实现三栏布局的方法,可在浏览器中打开查看效果

1.方法一:自身浮动的方法

实现方法:需要左栏向左浮动,右栏向右浮动,中间设左右margin来撑开距离

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS实现三栏布局1</title>
    <style type="text/css">
        body{
            margin: 0;
            padding: 0;
        }
        .left{
            width:200px;
            height: 300px;
            background-color: #DC698A;

            float:left;

        }
        .middle{
            /*width:100%;*/
            /*中间栏不要设宽度,包括100%*/
            height: 300px;
            background-color: #8CB08B;

            margin:0 200px;
        }
        .right{
            width: 200px;
            height: 300px;
            background-color: #3EACDD;

            float: right;
        }
    </style>
</head>
<body>
    <!-- 左栏左浮右栏右浮,中间不设宽度用左右margin值撑开距离,且布局中中间栏放最后 -->
    <!-- 中间栏实际宽度是当前屏的100% -->
    <div class="left">左栏</div>
    <div class="right">右栏</div>
    <div class="middle">中间栏</div>
</body>
</html>

注意:该方法在html布局时,要把中间栏放在左栏、右栏后面,左栏和右栏的顺序不定

实现的效果如下:

img

自身浮动实现三栏布局

2.方法二:margin负值法

实现方法:两边两栏宽度固定,中间栏宽度自适应,左栏、右栏、中间栏向左浮动,左栏的margin-left设为-100%,中间栏的width设为100%,右栏的margin-left设为-右栏宽度

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS实现三栏布局2</title>
    <style type="text/css">
    body{
        margin:0;
        padding:0;
    }
    .left{
        width:200px;
        height: 300px;
        background-color: #DC698A;

        float:left;
        margin-left:-100%;
    }
    .middle{
        width:100%;
        height: 300px;
        background-color: #8CB08B;

        float:left;
    }
    .right{
        width:200px;
        height: 300px;
        background-color: #3EACDD;

        float: left;
        margin-left: -200px;
    }
    </style>
</head>
<body>
    <!-- 左栏中间栏右栏左浮,左栏margin-left:-100%,中间栏宽100%,,右栏margin-left:-右栏宽度 
    且布局上必须中间栏放第一个-->
    <div class="middle">中间栏</div>
    <div class="left">左栏</div>
    <div class="right">右栏</div>
</body>
</html>

注意:该方法在html布局时,要把中间栏放在第一个

此方法是实现圣杯布局和双飞翼布局的基础。

实现的效果如下:

img

margin负值法实现三栏布局

3.方法三:绝对定位法

实现方法:左栏、右栏绝对定位,分别固定到页面左右两侧,中间栏不设宽度,用左右margin来撑开距离

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>CSS实现三栏布局3</title>
    <style type="text/css">
        body{
            margin:0;
            padding: 0;
        }
        .left{
            width:200px;
            height: 300px;
            background-color: #DC698A;

            position: absolute;
            left:0;
            top:0;
        }
        .middle{
            /*width: 100%;*/
            height: 300px;
            background-color: #8CB08B;
            margin:0 200px;
        }
        .right{
            width:200px;
            height: 300px;
            background-color: #3EACDD;

            position: absolute;
            right:0;
            top:0;
        }
    </style>
</head>
<body>
    <!-- 左右两栏绝对定位,分别固定到页面的左右两侧,中间栏不设宽度,用左右margin撑开距离 -->
    <!-- 中间栏的实际宽度是当前屏的100% -->
    <div class="left">左栏</div>
    <div class="middle">中间栏</div>
    <div class="right">右栏</div>
</body>
</html>

实现的效果如下:

img

此文已由腾讯云+社区在各渠道发布

获取更多新鲜技术干货,可以关注我们腾讯云技术社区-云加社区官方号及知乎机构号

相关文章

  • CSS布局(不完全)总结

    CSS布局(不完全)总结 实现水平居中布局的几种方式 方法一: 通过以下CSS代码实现水平居中布局 方法二: 通过...

  • 浅谈CSS关于清除浮动的三种方法

    浅谈CSS关于清除浮动的三种方法 CSS中,因为布局需要,我们常常希望出现一些浮动布局,比如图文环绕。这些浮动布局...

  • CSS布局

    HTML CSS + DIV实现整体布局必备知识利用HTML和CSS实现常见的布局 单列布局 css 实现竖直居中...

  • 三种方法实现CSS三栏布局

    本文由云+社区发表 作者:前端林子 本文会分别介绍三种CSS实现三栏布局的方法,可在浏览器中打开查看效果 1.方法...

  • 2019-01-26

    一、总结一下CSS的几种布局以及实现方法 左右布局 左中右 水平居中 垂直居中 1. 左右布局 左右布局很多种实现...

  • CSS布局技巧总结

    目录 详解 CSS 七种三栏布局技巧 16种方法实现水平居中垂直居中 详解 CSS 七种三栏布局技巧 三栏布局,顾...

  • CSS常用布局实现

    该系列用于整理记录常用的CSS布局实现。 CSS常用布局实现01-水平居中 CSS常用布局实现02-垂直居中 CS...

  • CSS---浮动

    1. 浮动(float) 1.1 CSS 布局的三种机制 网页布局的核心——就是用 CSS 来摆放盒子。 CSS ...

  • 三种实现圣杯布局方法

    本文介绍三种实现圣杯布局的方法,前两种可归为一类,与第三种方法差别在于加载顺序不同。 圣杯布局实现1: 步骤1:给...

  • flex布局设置单个子元素靠右显示

    父元素是flex布局实现单个子元素靠右显示css样式如下方法1: 方法2:

网友评论

    本文标题:三种方法实现CSS三栏布局

    本文链接:https://www.haomeiwen.com/subject/twvreqtx.html