本文介绍如何利用Layui框架快速搭建后台管理界面。通过引入layui.css和js,实现包含Logo、左侧导航、底部版权的标准布局。重点解析中间内容区Tab页的实现,利用DOM获取a标签data属性,并通过iframe加载指定url,适用于Jfinal等常见后台框架。
Layui后台管理界面布局实现
Layui是一款拥有丰富且美观样式的UI框架。在参考相关API文档后,可以手动构建一个后台管理页面。该页面的布局采用常见结构:顶部放置Logo,左侧为导航区域,中间是内容显示的Tab页,底部则显示版权信息。具体实现代码如下:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>黄宝康个人搭建的后台管理页面</title>
<link rel="stylesheet" href="css/layui.css" rel="external nofollow" >
<script src="layui.js"></script>
</head>
<body>
<div class="layui-layout-admin">
<!--头部-->
<div class="layui-header">
<div class="layui-logo">Huang BaoKang</div>
<ul class="layui-nav layui-layout-left">
<li class="layui-nav-item"><a href="javascript:void(0)" rel="external nofollow" >控制台</a></li>
<li class="layui-nav-item"><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >商品管理</a></li>
<li class="layui-nav-item">
<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >其他系统</a>
<dl class="layui-nav-child">
<dd><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >邮件管理</a></dd>
<dd><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >消息管理</a></dd>
<dd><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >授权管理</a></dd>
</dl>
</li>
</ul>
<ul class="layui-nav layui-layout-right">
<li class="layui-nav-item">
<a href=""><img src=" rel="external nofollow" http://m.zhengjinfan.cn/images/0.jpg" class="layui-nav-img">Huang BaoKang</a>
<dl class="layui-nav-child">
<dd><a href="">基本资料</a></dd>
<dd><a href="">安全设置</a></dd>
</dl>
</li>
</ul>
</div>
<!--左侧-->
<div class="layui-side layui-bg-black">
<div class="layui-side-scroll">
<ul class="layui-nav layui-nav-tree" lay-filter="hbkNavbar">
<li class="layui-nav-item">
<a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >基本元素</a>
<dl class="layui-nav-child">
<dd lay-id="111"><a href="javascript:;" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" data-options="{url:'test.html',title:'表格'}">表格</a></dd>
<dd><a href="">表单</a></dd>
<dd><a href="">导航栏</a></dd>
</dl>
</li>
<li class="layui-nav-item layui-nav-itemed">
<a href="">组件</a>
<dl class="layui-nav-child">
<dd><a href="">Navbar</a></dd>
<dd><a href="">Tab</a></dd>
<dd><a href="">OneLevel</a></dd>
<dd><a href="">app.js主入口</a></dd>
</dl>
</li>
<li class="layui-nav-item">
<a href="">表格</a>
</li>
<li class="layui-nav-item">
<a href="">表单</a>
</li>
</ul>
</div>
</div>
<!--中间主体-->
<div class="layui-body" id="container">
<div class="layui-tab" lay-filter="tabs" lay-allowClose="true">
<ul class="layui-tab-title">
<li class="layui-this">首页</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">首页内容</div>
</div>
</div>
</div>
<!--底部-->
<div class="layui-footer">
<center>黄宝康版权所有©Tel:18679758769</center>
</div>
</div>
<script>
//JavaScript代码区域
layui.use('element', function(){
var element = layui.element;
element.on('nav(hbkNavbar)',function(elem){
/*使用DOM操作获取超链接的自定义data属性值*/
var options = eval('('+elem.context.children[0].dataset.options+')');
var url = options.url;
var title = options.title;
element.tabAdd('tabs',{
title : title,
content : '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:100%;"></iframe>',
id : '111'
});
});
/*使用下面的方式需要引用jquery*/
/* $('.layui-nav-child a').click(function () {
var options = eval('('+$(this).data('options')+')');
var url = options.url;
var title = options.title;
element.tabAdd('tabs',{
title : title,
content : '<iframe scrolling="auto" frameborder="0" src="'+url+'" style="width:100%;height:100%;"></iframe>'
});
});*/
});
</script>
</body>
</html>
动态Tab页与iframe内容加载
代码中已添加详细注释,便于理解。需要特别说明的是,中间Tab功能的实现是通过DOM元素获取a标签的data属性来触发的,而Tab页的内容主体则采用iframe嵌入。在实际项目应用中,开发者只需关注url参数即可。例如,在使用常见的后台框架Jfinal时,只需调用render方法渲染对应页面即可。
页面最终效果如下图所示(截图时浏览器进行了缩放处理)。本项目仅引入了Layui的css和js文件,未使用任何第三方库,供参考。

以上便是使用Layui搭建后台管理界面的完整操作方法,希望能为大家提供有价值的参考。