css后台页面布局效果

CSS浮动+定位

在这里插入图片描述在这里插入图片描述

参考:实现左边div固定宽度,右边div自适应撑满剩下的宽度的布局方式:https://www.cnblogs.com/yzhihao/p/6513022.html

下面使用的关键就是使用overflow:hidden开启右侧内容区的BFC,使得左边的浮动元素无法盖住右侧内容区,并且可以使得它们在同一行。而且当左边浮动元素宽度减小时,右侧内容区宽度将会自动撑大剩余宽度。
还有的话,就是高度需要层层设置成父元素高度的100%,不然高度就不能撑满了。

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
            clear: both;
        }

        /*
		 *  STYLE 5
		 */

        #style-5::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
            background-color: #F5F5F5;
        }

        #style-5::-webkit-scrollbar {
            width: 10px;
            background-color: #F5F5F5;
        }

        #style-5::-webkit-scrollbar-thumb {
            background-color: #0ae;

            background-image: -webkit-gradient(linear, 0 0, 0 100%,
                    color-stop(.5, rgba(255, 255, 255, .2)),
                    color-stop(.5, transparent), to(transparent));
        }

        #style-6::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0 0 6px rgba(0, 0,0, 0.3);
            background-color: #F5F5F5;
        }

        #style-6::-webkit-scrollbar {
            width: 10px;
            background-color: #F5F5F5;
        }

        #style-6::-webkit-scrollbar-thumb {
            background-color: #F90;
            background-image: -webkit-linear-gradient(45deg,
                    rgba(255, 255, 255, .2) 25%,
                    transparent 25%,
                    transparent 50%,
                    rgba(255, 255, 255, .2) 50%,
                    rgba(255, 255, 255, .2) 75%,
                    transparent 75%,
                    transparent)
        }

        html,
        body,
        .container {
            height: 100%;
        }

        body {
            margin: 0;
        }

        .left {
            float: left;
            width: 200px;
            height: 500px;
            height: 100%;
            background-color: pink;
            transition: all 0.5s;
            margin-right: 20px;
            overflow: auto;
        }
        
		.left:hover {
		            width: 50px;
        }

        .left-menu {
            height: 1200px;
            background-color: cyan;
        }

        .menu-item {
            height: 50px;
            background-color: rgb(78, 191, 101);
            margin: 10px;
        }

        .content-outer {
            overflow: hidden;
            background-color: #bfa;
            height: 100%;
            overflow: auto;
        }

        .content-wrapper {
            padding: 20px;
        }

        .content1 {
            height: 500px;
            background-color: rgb(177, 228, 119);
            margin-bottom: 10px;

        }
    </style>
</head>

<body>
    <div class="container">
        <div class="left" id="style-5">
            <div class="left-menu clearfix">
                <div class="menu-item">1</div>
                <div class="menu-item">2</div>
                <div class="menu-item">3</div>
                <div class="menu-item">4</div>
                <div class="menu-item">5</div>
                <div class="menu-item">6</div>
                <div class="menu-item">7</div>
                <div class="menu-item">8</div>
                <div class="menu-item">9</div>
                <div class="menu-item">10</div>
                <div class="menu-item">11</div>
                <div class="menu-item">12</div>
                <div class="menu-item">13</div>
                <div class="menu-item">14</div>
                <div class="menu-item">15</div>
                <div class="menu-item">16</div>
                <div class="menu-item">17</div>
                <div class="menu-item">18</div>
            </div>
        </div>
        <div class="content-outer" id="style-6">
            <div class="content-wrapper">
                <div class="content1">
                    123aaavvv
                </div>
                <div class="content1">
                    123aaavvv
                </div>
            </div>
        </div>
        <!-- </div> -->
</body>

</html>

在这里插入图片描述
再加一个头部和尾部,内容区可滚动。
主要时用到了calc这个函数和100vh这个可视区高度css如何让页面填满剩余高度与宽度
https://blog.csdn.net/makewithyou/article/details/122710998

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        .clearfix::before,
        .clearfix::after {
            content: "";
            display: table;
            clear: both;
        }

        /*
            *  STYLE 5
            */

        #style-5::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
            background-color: #F5F5F5;
        }

        #style-5::-webkit-scrollbar {
            width: 10px;
            background-color: #F5F5F5;
        }

        #style-5::-webkit-scrollbar-thumb {
            background-color: #0ae;

            background-image: -webkit-gradient(linear, 0, 0, 0 100%)color-stop(.5, rgba(255, 255, 255, .2)),
                color-stop(.5, transparent), to(transparent);
        }

        #style-6::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
            background-color: #F5F5F5;
        }

        #style-6::-webkit-scrollbar {
            width: 10px;
            background-color: #F5F5F5;
        }

        #style-6::-webkit-scrollbar-thumb {
            background-color: #F90;
            background-image: -webkit-linear-gradient(45deg,
                    rgba(255, 255, 255, .2) 25%,
                    transparent 25%,
                    transparent 50%,
                    rgba(255, 255, 255, .2) 50%,
                    rgba(255, 255, 255, .2) 75%,
                    transparent 75%,
                    transparent)
        }

        html,
        body,
        .container {
            height: 100%;
        }

        body {
            margin: 0;
        }
        .head {
            text-align: center;
            line-height: 50px;
        }
        .left {
            float: left;
            width: 200px;
            height: 500px;
            height: 100%;
            background-color: pink;
            transition: all 0.5s;
            margin-right: 20px;
            overflow: auto;
        }

        .left-menu {
            height: 1200px;
            background-color: cyan;
        }

        .menu-item {
            height: 50px;
            background-color: rgb(78, 191, 101);
            margin: 10px;
        }

        .content-outer {
            position: relative;
            overflow: hidden;
            background-color: #bfa;
            overflow: hidden;
            /* height: 100%; */
            height: calc(100vh - 50px);
        }

        .content-wrapper {
            /* padding: 20px; */
            /* height: 800px; */
            overflow-y: scroll;
            margin-bottom: 10px;
            /* position: absolute; */
            width: 100%;
            height: calc(100vh - 50px - 40px - 10px);

            /* bottom: 40px; */
        }

        .foot {
            bottom: 0;
            width: 100%;
            position: absolute;
            height: 40px;
            background-color: pink;
            text-align: center;
            line-height: 40px;
        }

        .content1 {
            height: 500px;
            background-color: rgb(177, 228, 119);
            margin-bottom: 10px;

        }

        .left:hover {
            width: 50px;
        }

        .head {
            height: 50px;
        }

        body {
            overflow: hidden;
        }

        
    </style>
</head>

<body>
    <div class="head">我是head</div>
    <div class="container">
        <div class="left" id="style-5">
            <div class="left-menu clearfix">
                <div class="menu-item">1</div>
                <div class="menu-item">2</div>
                <div class="menu-item">3</div>
                <div class="menu-item">4</div>
                <div class="menu-item">5</div>
                <div class="menu-item">6</div>
                <div class="menu-item">7</div>
                <div class="menu-item">8</div>
                <div class="menu-item">9</div>
                <div class="menu-item">10</div>
                <div class="menu-item">11</div>
                <div class="menu-item">12</div>
                <div class="menu-item">13</div>
                <div class="menu-item">14</div>
                <div class="menu-item">15</div>
                <div class="menu-item">16</div>
                <div class="menu-item">17</div>
                <div class="menu-item">18</div>
            </div>
        </div>
        <div class="content-outer" >

            <div class="content-wrapper" id="style-6">
                <div class="content1">
                    123aaavvv
                </div>
                <div class="content1">
                    123aaavvv
                </div>
            </div>

            <div class="foot">我是foot</div>

        </div>
    </div>
</body>

</html>

flex布局

在这里插入图片描述

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>


        #style-6::-webkit-scrollbar-track {
            -webkit-box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.0);
            background-color: #F5F5F5;
            border-radius: 6px;
        }

        #style-6::-webkit-scrollbar {
            width: 6px;
            background-color: #F5F5F5;
        }

        #style-6::-webkit-scrollbar-thumb {
            background-color: #F90;
            border-radius: 6px;

            background-image: -webkit-linear-gradient(45deg,
                    rgba(255, 255, 255, .2) 25%,
                    transparent 25%,
                    transparent 50%,
                    rgba(255, 255, 255, .2) 50%,
                    rgba(255, 255, 255, .2) 75%,
                    transparent 75%,
                    transparent)
        }

        * {
            margin: 0;
            padding: 0;
            list-style: none;
        }

        html,
        body {
            width: 100%;
            height: 100%;
            overflow: hidden;
        }

        .wrapper {
            background-color: pink;
            width: 100%;
            height: 100%;
            display: flex;
        }

        .wrapper .left {
            width: 220px;
            background-color: rgb(94, 171, 138);
            height: 100%;
            overflow-y: scroll;
            /* margin-right: 10px; */
        }

        .menu-item {
            height: 50px;
            background-color: cyan;
            margin: 10px;
        }

        .wrapper .right {
            width: 200px;
            background-color: rgb(102, 158, 184);
            height: 100%;
            flex-grow: 1;
            display: flex;
            flex-flow: column nowrap;
        }

        .head {
            min-width: 1000px;
            height: 75px;
            background-color: rgb(215, 156, 156);
            flex-shrink: 0;
        }

        .head .head-item {
            width: 700px;
            height: 20px;
            background-color: cyan;
        }

        .content-wrapper {
            margin-top: 10px;
            margin-left: 10px;
            padding: 10px;
            background-color: rgb(163, 199, 141);
            flex-grow: 1;
            overflow-y: scroll;
            overflow-x: hidden;
        }


        .content1 {
            height: 50px;
            background-color: pink;
            margin-bottom: 10px;
        }
    </style>
</head>

<body>
    <div class="wrapper">
        <div class="left" id="style-6">
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
            <div class="menu-item"></div>
        </div>
        <div class="right">
            <div class="head">
                <div class="head-item"></div>
            </div>
            <div class="content-wrapper" id="style-6">
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
                <div class="content1"></div>
            </div>
        </div>
    </div>
</body>

</html>
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值