JavaWeb后台管理侧边栏

1:写一个html

<%--
  Created by IntelliJ IDEA.
  User: Andlime
  Date: 2022/10/16
  Time: 15:03
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <link rel="stylesheet" href="css/backstage.css">
    <!--这里引入的是矢量图标签库-->
    <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    <script src="https://kit.fontawesome.com/b99e675b6e.js"></script>
    <!-- https://fontawesome.com/v5/icons/times?s=solid -->
</head>

<body>
<div class="wrapper">
    <div class="sidebar">
        <div class="bg_shadow"></div>
        <div class="sidebar_inner">
            <div class="close">
                <i class="fas fa-times"></i>
            </div>
            <div class="profile_info">
                <div class="profile_img">
                    <img src="images/logo_logo.png" alt="">
                </div>
                <div class="profile_data">
                    <p class="name">用户名</p>
                    <span>
                            <i class="fas fa-map-marker-alt"></i>
                            山中贫困地区
                        </span>
                </div>
            </div>

            <ul class="siderbar_menu">
                <li class="active">
                    <a href="#">
                        <div class="icon">
                            <i class="fas fa-heart"></i>
                        </div>
                        <div class="active" >主页</div>
                    </a>
                </li>
                <li>
                    <a href="#">
                        <div class="icon">
                            <i class="fas fa-user"></i>
                        </div>
                        <div class="title">用户详细信息</div>
                        <div class="arrow">
                            <i class="fas fa-chevron-down"></i>
                        </div>
                    </a>
                    <ul class="accordion">
                        <li><a href="#" class="active">子菜单1</a></li>
                        <li><a href="#" >子菜单2</a></li>
                        <li><a href="#" >子菜单3</a></li>
                        <li><a href="#" >子菜单4</a></li>
                        <li><a href="#" >子菜单5</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">
                        <div class="icon">
                            <i class="fas fa-receipt"></i>
                        </div>
                        <div class="title">投稿信息</div>
                        <div class="arrow">
                            <i class="fas fa-chevron-down"></i>
                        </div>
                    </a>
                    <ul class="accordion">
                        <li><a href="#" class="active">子菜单1</a></li>
                        <li><a href="#" >子菜单2</a></li>
                        <li><a href="#" >子菜单3</a></li>
                        <li><a href="#" >子菜单4</a></li>
                        <li><a href="#" >子菜单5</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">
                        <div class="icon">
                            <i class="fas fa-credit-card"></i>
                        </div>
                        <div class="title">占个位置</div>
                        <div class="arrow">
                            <i class="fas fa-chevron-down"></i>
                        </div>
                    </a>
                    <ul class="accordion">
                        <li><a href="#" class="active">子菜单1</a></li>
                        <li><a href="#" >子菜单2</a></li>
                        <li><a href="#" >子菜单3</a></li>
                        <li><a href="#" >子菜单4</a></li>
                        <li><a href="#" >子菜单5</a></li>
                        <li><a href="#" >子菜单6</a></li>
                        <li><a href="#" >子菜单7</a></li>
                        <li><a href="#" >子菜单8</a></li>
                        <li><a href="#" >子菜单9</a></li>
                    </ul>
                </li>
                <li>
                    <a href="#">
                        <div class="icon">
                            <i class="fas fa-unlock"></i>
                        </div>
                        <div class="title">占个位置</div>
                    </a>
                </li>
            </ul>
            <div class="logout_btn">
                <a href="#">退出登陆</a>
            </div>
        </div>
    </div>
    <div class="main_container">
        <div class="navbar">
            <div class="hamburger">
                <i class="fas fa-bars"></i>
            </div>
            <div class="logo">
                <a href="header.jsp">主页logo</a>
            </div>
        </div>
        <div class="content">
            <div class="item">
                这是一个测试文字?????????
            </div>
            <div class="item">
                这是一个测试文字?????????
            </div>
            <div class="item">
                【这是一个测试文字?????????
            </div>
            <div class="item">
                这是一个测试文字?????????
            </div>
            <div class="item">
                这是一个测试文字?????????
            </div>
            <div class="item">
                这是一个测试文字?????????
            </div>
        </div>
    </div>
</div>
<script src="js/backstage.js"></script>
</body>

</html>

2:接下来是css部分

@import url('https://fonts.googleapis.com/css?family=Montserrat:400,600,700|Trade+Winds&display=swap');

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    list-style: none;
    text-decoration: none;
    /* 引入字体 */
    font-family: 'Montserrat';
}
body{
    background: #e7f1ff;
    font-size: 14px;
    /* 字间距 */
    letter-spacing: 1px;
}

.wrapper{
    /* 弹性布局 */
    display: flex;
    width: 100%;
}

.sidebar{
    /* 相对定位 */
    position: relative;
}

.sidebar .bg_shadow{
    width: 100%;
    height: 100%;
    /* 定位 */
    position: fixed;
    top: 0;
    left: 0;
    background: #000;
    z-index: 998;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease;
}

.sidebar_inner{
    width: 250px;
    position: fixed;
    top: 0;
    left: 0;
    /* 百分之百的窗口高度 */
    height: 100vh;
    background: #5558c9;
    z-index: 999;
    transition: all 0.3s ease;
}

.main_container{
    margin-left: 250px;
    width: calc(100% - 250px);
    transition: all 0.3s ease;
}

.sidebar_inner .profile_info{
    padding: 20px;
    text-align: center;
}

.sidebar_inner .profile_info .profile_img{
    width: 100px;
    margin: 0 auto 5px;
}

.sidebar_inner .profile_info .profile_img img{
    width: 100%;
    border-radius: 50%;
    display: block;
}

.sidebar_inner .profile_info .profile_data .name{
    font-size: 18px;
    color: #fff;
    margin-bottom: 5px;
    font-family: 'Trade Winds';
}

.sidebar_inner .profile_info .profile_data span{
    color: #C4dCff;
}
/* 侧边导航栏开始 */

.sidebar_inner .siderbar_menu{
    height: 490px;
    overflow: auto;
}

.sidebar_inner .siderbar_menu> li > a{
    padding: 12px 20px;
    display: flex;
    align-items: center;
    /* 相对定位 */
    position: relative;
    margin-bottom: 1px;
    color: #C4dCff;
}

.sidebar_inner .siderbar_menu> li > a .icon{
    font-size: 25px;
    margin-right: 15px;
}
.sidebar_inner .siderbar_menu> li.active > a,
.sidebar_inner .siderbar_menu> li > a:hover{
    background: #3d3d79;
}


.sidebar_inner .siderbar_menu> li > a .arrow{
    position: absolute;
    top: 20px;
    right: 20px;
    transition: all 0.3s ease;
}


.sidebar .logout_btn a{
    position: absolute;
    bottom: 20px;
    left: 20px;
    width: 210px;
    border: 1px solid #fff;
    color: #fff;
    border-radius: 3px;
    font-weight: 600;
    padding: 10px;
    text-align: center;
    transition: all 0.3s ease;
}

.sidebar .logout_btn a:hover{
    background: #fff;
    color: #3d3d79;
}

.sidebar_inner .close{
    position: absolute;
    top: 5px;
    right: 15px;
    font-size: 25px;
    color: #fff;
    /* 鼠标放上变小手 */
    cursor: pointer;
    display: none;
}

.sidebar_inner .close:hover,
.navbar .hamburger:hover{
    opacity: 0.7;
}
.navbar{
    background: #fff;
    height: 50px;
    width: 100%;
    box-shadow:  0 3px 5px rgba(0, 0, 0, 0.125);
    display: flex;
    align-items: center;
    padding: 0 20px;
}

.navbar .hamburger{
    font-size: 25px;
    cursor: pointer;
    margin-right: 20px;
    color: #5558c9;
    display: none;
}

.navbar .logo a{
    font-family: 'Trade Winds';
    color: #5558c9;
    font-size: 20px;
}
.content{
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
}

.content .item{
    background: #fff;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.125),
    -2px -2px 4px rgba(0, 0, 0, 0.125);
    margin: 10px 5px;
    width: 31.8%;
    padding: 20px;
}

.accordion{
    background: #6f6fc7;
    padding-left: 50px;
    height: 0px;
    transition: all 0.3s ease;
    overflow: hidden;
}

.accordion li a{
    display: block;
    color: #c4dcff;
    padding: 12px 0;
    padding-left: 10px;
}
.accordion li:last-child a{
    border-bottom: 0px;
}
.siderbar_menu::-webkit-scrollbar {
    width: 0 !important
}
.accordion{
    overflow-y:auto;
    /*width: 0 !important*/
}
ul::-webkit-scrollbar{
    width: 0 !important
}
.accordion li a:hover,
.accordion li a.active{
    color: #fff;
}

.siderbar_menu > li.active .accordion{
    height: 215px;
}

.siderbar_menu > li.active .arrow{
    transform: rotate(180deg);
    transition: all 0.3s ease;
}

@media (max-width:1024px){
    .sidebar_inner{
        left: -115%;
        transition: all 0.5s ease;
    }
    .main_container{
        width: 100%;
        margin-left: 0;
    }
    .sidebar_inner .close,
    .navbar .hamburger{
        display: block;
    }
    .content .item{
        width: 47%;
    }
    .wrapper.active .sidebar_inner{
        left: 0;
        transition: all 0.5s ease;
    }
    .wrapper.active .sidebar .bg_shadow{
        visibility: visible;
        opacity: 0.7;
    }
}

@media (max-width:528px) {
    .content .item{
        width: 100%;
    }
}

3:接下来就是js的代码

$(document).ready(function(){
    $(".siderbar_menu li").click(function(){
        $(".siderbar_menu li").removeClass("active");
        $(this).addClass("active");
    })
    $(".accordion li a").click(function(){
        $(".accordion li a").removeClass("active");
        $(this).addClass("active");
    })
    $(".hamburger").click(function(){
        $(".wrapper").addClass("active");
    })
    $(".bg_shadow,.close").click(function(){
        $(".wrapper").removeClass("active");
    })
})

4:让我们来看看效果图吧!!!

 

网页缩小的样子,是一个自适应的

 

 

 想看完整的效果图可以复制下来去试试

感谢观看!

 

  • 13
    点赞
  • 53
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统包含项目的源码和搭建的详细文档,以及数据库脚本 系统功能模块(开发时可取舍) 1. 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限)和按钮权限 角色(基础权限): 分角色组和角色,独立分配菜单权限和增删改查权限。 按钮权限: 给角色分配按钮权限。 2. 按钮管理:自定义按钮管理,维护按钮权限标识等 3. 菜单管理:无限级别自定义菜单,自定义菜单图标,业务菜单和系统菜单分离,菜单状态显示隐藏(递归处理) 4. 数据字典:无限级别,支持多级别无限分类。内设编号,排序等 5. 组织机构:无限级别,公司or部门管理 6. 在线管理:websocket技术,实时检测在线用户列表,统计在线人数,可强制用户下线 同一用户只能在一个客户端登录 7. 系统用户:对各个基本的用户增删改查,单发、群发站内信邮件短信,导入导出excel表格,批量删除 8. 会员管理:对前台用户管理,分配会员级别,到期时间,状态,联系信息等资料 9. 代码生成:生成完整的模块代码,并保留生成记录模版,可复用 (超强悍开发利器) 正向生成: 生成完整的模块,页面、处理类、service层、myabaits的xml 建表的sql脚本等 反向生成: 任意连接其它数据库(mysql、oracle、sqlserver),根据表反射生成本系统的模块 10. 性能监控:监控整个系统的性能,SQL监控,SQL防火墙,URL监控,SPRING监控,SESSION监控等 11. 接口测试:POST or GET 方式检测系统接口,参数加密,json返回结果,计算服务器响应时间 12. 发送邮件:单发,群发邮件 13. 置二维码:生成二维码图表保存到服务器 or 解析读取二维码内信息 14. 图表报表:柱状图、饼状图、折线图、各种图表大全 15. 地图工具:打开地图, 鼠标点击地图某位置获取经纬度坐标,根据经纬度计算两点距离 16. 打印测试:页面打印预览测试 17. 图片管理:对批量上传的图片统一管理 ,点击放大,可打开多个,自由切换,绚丽预览效果 18. 图片爬虫:输入某网址,爬出其图片显示在页面上,可以放大预览。可保存到服务器上,到图片管理里面 19. 站内信:收信箱和发信箱, websocket技术通讯技术做的及时收信提醒,可配置语音提示来信 20. 系统设置:修改系统名称,邮件服务器配置,短信账号设置,图片水印配置,微信配置 21. 及时聊天:打开聊天窗口,可群聊、一对一聊天 22. 表单构建:拖拽式快速自定义构建表单,组建元素丰富,有富文本、上传控件、下拉框等等 23. 主附结构:提供一个主表和明细表模块的例子(用本代码生成器生成的) 24. 员工管理:和组织机构部门管理,可以绑定登录系统用户,授权数据权限 -------------------------------------------------------------------------------------------------------------------------数据库管理 25. 数据库备份:可备份单表、整库,支持本地和远程数据库备份(java界面编程技术,socket编程技术) 26. 备份定时器:quartz 2.2 强大的任务调度,多线程备份数据库,任务启动关闭异步操作 27. 数据库还原:历史备份记录,还原数据库 or 单表 ,统计备份时间和文件大小 28. SQL编辑器:强大的SQL编辑器,支持编辑语句复杂查询语句,生成动态报表,可导出excel ------------------------------------------------------------------------------------------------------------------------- 菜单权限:分配给每个角色不同的菜单权限, 每个角色看到的菜单不同,无限级别菜单 按钮权限:独立分配不同的角色不同的功能权限,增删改查权限分配具体到不同的菜单,自定义按钮管理 支持多用户分权限管理后台, 权限具体到不同的菜单不同的按钮

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值