一、定义
layui,是一款采用自身模块规范编写的前端 UI 框架,遵循原生 HTML/CSS/JS 的书写与组织形式,跟其他UI框架比较(比如bootstrap、easyui、findui、topui等等),门槛极低,拿来即用。
1、与其他UI对比
1.1 layui与easyui
easyui是功能强大但是有很多的组件使用功能是十分强大的,而layui是2016年才出来的前端框架,现在才更新到2.x版本还有很多的功能没有完善,也还存在一些不稳定的情况,但是layui界面简约美观,而且容易上手而且有很多组件在layui的社区里都可以找到,layui的弹出层layer也是layui与别的框架区别。
layui 示例
easyui 示例
1.2 layui与bootstrap对比
layui是国人开发的一套框架,2016年出来的,现在已更新到2.X版本了。比较新,轻量级,样式简单好看。
bootstrap 相对来说是比较成熟的一个框架,现在已经更新到4.X版本。是一个很成熟的框架,这个大部分人一般都用过。
bootstrap 示例
二、layui的元素由以下组成:
布局(栅格、后台布局)、颜色、字体图标、动画、按钮、表单、导航条、面包屑、选项卡、进度条、面板、静态表格、徽章、时间线、辅助元素等。
三、模块
layui 提供了丰富的内置模块,他们皆可通过模块化的方式按需加载,其中包括:layer、layDate、layPage、laytpl、table、form、upload、element、tree、layeditor、rate、carousel、flow、util、code等。
四、兼容性
Chrome / Firefox / Safari /Internet Explorer 8.0+。
五、使用场景
layui可作为 PC网页端后台系统与前台界面的速成开发方案。
六、获得 layui(这里介绍官网首页下载,还可以通过Git 仓库下载、npm 安装)
可以在 官网首页 下载到 layui 的最新版,它经过了自动化构建,更适合用于生产环境。目录结构如下:
code layui.code
1. ├─css //css目录
2. │ │─modules //模块css目录(一般如果模块相对较大,我们会单独提取,比如下面三个:)
3. │ │ ├─laydate
4. │ │ ├─layer
5. │ │ └─layim
6. │ └─layui.css //核心样式文件
7. ├─font //字体图标目录
8. ├─images //图片资源目录(目前只有layim和编辑器用到的GIF表情)
9. │─lay //模块核心目录
10. │ └─modules //各模块组件
11. │─layui.js //基础核心库
12. └─layui.all.js //包含layui.js和所有模块的合并文件
七、快速上手 获得 layui 后,将其完整地部署到你的项目目录(或静态资源服务器),你只需要引入下述两个文件:
code layui.code
1. ./layui/css/layui.css
2. ./layui/layui.js //提示:如果是采用非模块化方式(最下面有讲解),此处可换成:./layui/layui.all.js
没错,不用去管其它任何文件。因为他们(比如各模块)都是在最终使用的时候才会自动加载。这是一个基本的入门页面:
code layui.code
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="utf-8">
5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
6. <title>开始使用layui</title>
7. <link rel="stylesheet" href="../layui/css/layui.css" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >
8. </head>
9. <body>
10.
11. <!-- 你的HTML代码 -->
12.
13. <script src="../layui/layui.js"></script>
14. <script>
15. //一般直接写在一个js文件中
16. layui.use(['layer', 'form'], function(){
17. var layer = layui.layer
18. ,form = layui.form;
19.
20. layer.msg('Hello World');
21. });
22. </script>
23. </body>
24. </html>
25.
如果你想采用非模块化方式(即所有模块一次性加载,尽管我们并不推荐你这么做),你也可以按照下面的方式使用:
code layui.code
1. <!DOCTYPE html>
2. <html>
3. <head>
4. <meta charset="utf-8">
5. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
6. <title>非模块化方式使用layui</title>
7. <link rel="stylesheet" href="../layui/css/layui.css" target="_blank" rel="external nofollow" target="_blank" rel="external nofollow" >
8. </head>
9. <body>
10.
11. <!-- 你的HTML代码 -->
12.
13. <script src="../layui/layui.all.js"></script>
14. <script>
15. //由于模块都一次性加载,因此不用执行 layui.use() 来加载对应模块,直接使用即可:
16. ;!function(){
17. var layer = layui.layer
18. ,form = layui.form;
19.
20. layer.msg('Hello World');
21. }();
22. </script>
23. </body>
24. </html>
七、吴小朋部分layui示例:
1、登录(layui默认登录模板)
2、树形结构列表以及添加子菜单操作
3、编辑角色功能
4、编辑用户功能
5、列表展示(添加、编辑、删除)
6、上传图片、富文本编辑功能
7、tab页切换功能