首页 > 其他 > 详细

左栏固定,右栏自适应的两栏布局

时间:2020-03-25 22:45:07      阅读:64      评论:0      收藏:0      [点我收藏+]

第一种方法:采用绝对定位+BFC(overflow:auto)

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .left{
            width: 200px;
            height: 200px;
            background: red;
            position: absolute;
        }
        .right{
            height: 200px;
            margin-left: 200px;
            background: blue;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div class="left">左边</div>
    <div class="right">右边</div>
</body>
</html>
技术分享图片

第二种方法:采用左浮动+BFC(overflow:auto)

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .left{
            width: 200px;
            height: 200px;
            background: red;
            float: left;
        }
        .right{
            height: 200px;
            background: blue;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div class="left">左边</div>
    <div class="right">右边</div>
</body>
</html>
技术分享图片

第三种方法:采用flex布局+BFC(overflow:auto)(推荐使用)

 

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .main{
            display: flex;
        }
        .left{
            width: 200px;
            height: 200px;
            background: red;
        }
        .right{
            height: 200px;
            background: blue;
            flex: 1;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div class="main">
        <div class="left">左边</div>
        <div class="right">右边</div>
    </div>
</body>
</html>
技术分享图片

 

第四种:table布局(高度会自动撑开)

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .main {
            display: table;
            width: 100%;
        }
        .left ,.right {
            display:table-cell;
            height:240px; 
        }
        .right{
            background-color: blue;
        }
        .left {
            width: 300px;
            background-color: red;
        }
    </style>
</head>
<body>
    <div class="main">
      <div class="left" >左边</div>
      <div class="right" >右边</div>
    </div>
</body>
</html>
技术分享图片

第五种:grid网格布局+BFC(overflow:auto)

技术分享图片
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .main {
            display: grid;
            width: 100%;
            grid-template-rows: 200px;  /*设置行高*/
            grid-template-columns: 200px auto;  /*设置列数属性*/
        }
        .right{
            background-color: blue;
        }
        .left {
            background-color: red;
            overflow: auto;
        }
    </style>
</head>
<body>
    <div class="main">
      <div class="left" >左边</div>
      <div class="right" >右边</div>
    </div>
</body>
</html>
技术分享图片

如果不触发BFC,如果右边内容超出右边盒子的高度会出现内容往左边靠和溢出的情况

第一种情况:浮动

技术分享图片

 

第二种情况:绝对定位,flex布局,grid网格布局

技术分享图片

 

左栏固定,右栏自适应的两栏布局

原文:https://www.cnblogs.com/dillonmei/p/12570739.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!