美文网首页
CSS两栏布局(四种方法)

CSS两栏布局(四种方法)

作者: 凯凯frank | 来源:发表于2020-02-12 20:12 被阅读0次

两栏布局,要求左边固定,右边自适应。

方法1------浮动

思路:左边容器左浮动,宽度固定,右边元素设置margin-left

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{  margin: 0;  padding: 0;  box-sizing: border-box; }
        html,body{  height: 100%;  }
        .left-panel{
            float: left;
            width: 200px;
            height: 100%;
            background-color: red;
        }
        .main-panel{
            height: 100%;
            margin-left: 200px;
            background-color: #00a2ea;
            border-left: 1px solid #000;
        }
    </style>
</head>
<body>
    <div class="left-panel">left</div>
    <div class="main-panel">main</div>
</body>
</html>

方法2------绝对定位

思路:左边容器绝对定位,宽度固定,右边元素设置margin-left

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{  margin: 0;  padding: 0;  box-sizing: border-box; }
        html,body{  height: 100%;  }
        .left-panel{
           position: absolute;
            left: 0;
            top: 0;
            width: 200px;
            height: 100%;
            background-color: red;
        }
        .main-panel{
            height: 100%;
            margin-left: 200px;
            background-color: #00a2ea;
            border-left: 1px solid #000;
        }
    </style>
</head>
<body>
<div class="left-panel">left</div>
<div class="main-panel">main</div>
</body>
</html>

方法3------绝对定位

思路:左边宽度固定,右边元素绝对定位,设置left,设置宽度为剩下容器的宽度(width可以使用calc计算,也可以同时设置left和right,让他自行拉伸,不用指定width)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{  margin: 0;  padding: 0; box-sizing: border-box; }
        html,body{  height: 100%;  }
        .left-panel{
            width: 200px;
            height: 100%;
            background-color: red;
        }
        .main-panel{
            position: absolute;
            left: 200px;
            top: 0 ;
            right: 0;
            /*width: calc(100% - 200px);*/
            height: 100%;
            background-color: #00a2ea;
            border-left: 1px solid #000;
        }
    </style>
</head>
<body>
<div class="left-panel">left</div>
<div class="main-panel">main</div>
</body>
</html>

方法4:flex布局

思路:父元素flex布局,默认方向就是水平排列。左边的子元素宽度固定,右边的子元素设置flex-grow:1;自动填充容器剩余宽度。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        *{  margin: 0;  padding: 0; box-sizing: border-box; }
        html,body{  height: 100%;  }
        .container{
            display: flex;
            height: 100%;
        }
        .left-panel{
            width: 200px;
            background-color: red;
        }
        .main-panel{
            flex-grow: 1;
            background-color: #00a2ea;
            border-left: 1px solid #000;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="left-panel">left</div>
        <div class="main-panel">main</div>
    </div>
</body>
</html>

相关文章

  • CSS两栏布局(四种方法)

    两栏布局,要求左边固定,右边自适应。 方法1------浮动 思路:左边容器左浮动,宽度固定,右边元素设置marg...

  • CSS布局技巧总结

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

  • css布局

    一、CSS左右布局: 结果如下图(flex): 两栏 代码如下:两栏代码 二、CSS左中右布局: 结果如下图(f...

  • 绝对定位布局和浮动布局

    在CSS中,实现分栏布局有两种方法。第一种方法是使用四种CSS定位选项(absolute 、static、rela...

  • 常见布局-左侧固定,右侧自适应两栏布局

    "左边固定,右边自适应的两栏布局",其中有老生常谈的float方法,BFC方法,也有CSS3的flex布局与gri...

  • CSS实现三栏布局的方法

    经典CSS题目:三栏布局 假设页面高度已知,请写出三栏布局,其中左栏、右栏宽度各为300px,中间自适应。 方法1...

  • CSS:两栏布局

    1.直接float:left; 2.absolute+margin-left; 3.使用float:left+ma...

  • css两栏布局

    实现左侧固定,右侧自适应。思路,布局最关键的是让block元素并排排列,简单用float就行。之后就是画两个矩形就...

  • CSS两栏布局

    工作中需要实现下图这种效果: 搜索框宽度随屏幕动态变化,搜索按钮宽度固定。 这其实是经典的两栏布局问题,可以通过a...

  • CSS 两栏布局

    前端7班+余愿 两栏布局指的是,页面分为三部分,头部、中间、尾部。而中间部分又分为两部分,侧边栏和主要内容部分。侧...

网友评论

      本文标题:CSS两栏布局(四种方法)

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