一、前言

适合初学开发者和学生使用,可做静态网页或者后台管理系统,支持基本功能。除引用layui外无任何多余依赖。

layui依赖:https://layui.dev/
如下图直接下载,引入项目中!
在这里插入图片描述

二、源码

2.1 基本框架

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>EASY后台</title>
    <link rel="stylesheet" href="./static/layui/css/layui.css">
</head>
<body class="layui-layout-body">
<style>
    /* 顶部样式 */
    .layui-header {
        padding: 0 20px;
    }

    .layui-logo {
        line-height: 60px;
        text-align: center;
    }

    /* 侧边菜单样式 */
    .layui-side {
        width: 200px;
    }

    /* 主体样式 */
    .layui-tab {
        margin: 0;
    }

    .layui-tab-content {
        padding: 0;
    }

    /* 底部样式 */
    .layui-footer-body {
        position: fixed;
        right: 20px;
    }
</style>
<div class="layui-layout layui-layout-admin">
    <!-- 顶部区域 -->
    <div class="layui-header">
        <div class="layui-logo">
            后台管理系统
        </div>
        <ul class="layui-nav layui-layout-right">
            <li class="layui-nav-item layui-hide layui-show-sm-inline-block">
                <a href="javascript:;">
                    <img src="./static/images/logo.png" class="layui-nav-img">张三
                </a>
                <dl class="layui-nav-child">
                    <dd><a href="javascript:;" lay-header-event="updateInfo">个人资料</a></dd>
                    <dd><a href="javascript:;" lay-header-event="updatePwd">修改密码</a></dd>
                    <dd><a href="javascript:;" lay-header-event="logout">退出登录</a></dd>
                </dl>
            </li>
        </ul>
    </div>

    <!-- 左侧导航区域 -->
    <div class="layui-side layui-tab">
        <div class="layui-side-scroll">
            <ul class="layui-nav layui-nav-tree layui-side layui-nav-side" lay-filter="easy-menu">
            	<li class="layui-nav-item">
                    <a href="javascript:;" data-url="welcome.html" data-title="首页">
                        <i class="layui-icon layui-icon-home"></i>
                        首页
                    </a>
                </li>
                <li class="layui-nav-item">
                    <a href="javascript:;">
                        <i class="layui-icon layui-icon-username"></i>
                        系统管理
                    </a>
                    <dl class="layui-nav-child">
                        <dd>
                            <a href="javascript:;" data-url="dept.html" data-title="部门管理">
                                部门管理
                            </a>
                        </dd>
                        <dd>
                            <a href="javascript:;" data-url="user.html" data-title="用户管理">
                                用户管理
                            </a>
                        </dd>
                    </dl>
                </li>
            </ul>
        </div>
    </div>

    <!-- 内容主体区域 -->
    <div class="layui-body">
        <div class="layui-tab" lay-filter="easy-body" lay-allowClose="true">
            <ul class="layui-tab-title"></ul>
            <div class="layui-tab-content"></div>
        </div>
    </div>

    <!-- 底部区域 -->
    <div class="layui-footer">
        <span class="layui-footer-body">
            © 2025 xxx 版权所有
        </span>
    </div>
</div>

<script src="./static/layui/layui.js"></script>
<script>
    layui.use(['element', 'layer', 'util'], function () {
        var $ = layui.jquery;
        var layer = layui.layer;
        var element = layui.element;
        var util = layui.util;

        // 监听菜单点击
        element.on('nav(easy-menu)', function (elem) {
            var url = elem.attr('data-url');
            var title = elem.attr('data-title');

			// 没有url则不是菜单
			if (!url) {
				return;
			}

            // 判断Tab是否已添加
            if ($(".layui-tab-title li[lay-id='" + url + "']").length <= 0) {
                tabEvent.add(url, title);
            }

            // 切换页面
            tabEvent.change(url);
        });

        // tab事件
        var tabEvent = {
            // 新打开Tab
            add: function (url, name) {
                element.tabAdd('easy-body', {
                    title: name,
                    content: '<iframe data-frameid="' + url + '" src="' + url + '" scrolling="auto" frameborder="0"  style="width:100%;height:100%;"></iframe>',
                    id: url
                })
                FrameWH();
            },
            // 切换Tab页
            change: function (url) {
                element.tabChange('easy-body', url);
            }
        };
		
		// 添加首页
		tabEvent.add('welcome.html', '首页');
		tabEvent.change('welcome.html');

        // 重置iframe窗口大小
        $(window).resize(function () {
            FrameWH();
        })

        // 计算frame高度
        function FrameWH() {
            var h = $(window).height() - 60 - 40 - 44;
            $("iframe").css("height", h + "px");
        }

		// 头部事件
        util.event('lay-header-event', {
            updateInfo: function () { // 修改个人信息
               // todo
                console.log("修改个人信息");
            },
            updatePwd: function () {  // 修改密码
                // todo
                console.log("修改密码");
            },
            logout: function () {  // 退出登录
                // todo
                console.log("退出登录");
            }
        });
    });
</script>
</body>
</html>

2.2 首页

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <title>EASY后台-首页</title>
    <link rel="stylesheet" href="./static/layui/css/layui.css">
</head>
<body class="layui-layout-body">
<h1>首页</h1>
</body>
</html>

三、界面效果

在这里插入图片描述

在这里插入图片描述

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐