镜像站@Layui – 经典开源模块化前端 UI 框架 (gitee.io)https://lh_yun.gitee.io/layui/www.layui.com/index.html 由于layui已经下架,所以在这里我们可以通过镜像站来访问到layui的主页
目录
1.layui的使用
2.布局容器
3.栅格系统
4.表单和按钮
5.选项卡
6.表格
7.面板
8.时间线
9.弹出层
10.数据表格
1.layui的使用
要想在项目中使用layui提供的框架,需要引入layui的css文件和js文件;
下载链接:百度网盘 请输入提取码https://pan.baidu.com/s/1OBe3CJsMXRhz6nWWyiDj5g
提取码:ncjq
下载完成后直接复制到项目中即可使用
下面就可以使用layui中的框架了
<!DOCTYPE html>
<html><head><meta charset="utf-8" /><title>layui的使用</title><link rel="stylesheet" type="text/css" href="layui-v2.2.5/layui/css/layui.css"/><script src="layui-v2.2.5/layui/layui.js" type="text/javascript" charset="UTF-8"></script></head><body><script>layui.use(['layer', 'form'], function(){var layer = layui.layer,form = layui.form;layer.msg('Hello World');});</script></body>
</html>
2.布局容器
在这里一般会有两种效果:
1.固定宽度,两边留有空白效果(常用)
2.完整宽度,两边没有空白效果
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>布局容器</title><link rel="stylesheet" type="text/css" href="layui-v2.2.5/layui/css/layui.css"/></head><body><div class="layui-container" style="background-color: #00F7DE;height: 300px;">固定宽度,两边留有空白效果</div><div class="layui-fluid" style="background-color: #009688;height: 300px;">完整宽度,两边没有空白效果</div></body>
</html>
效果如下:
3.栅格系统
1.定义行 .layui-row
2.定义列 .layui-col-md*
md 表示不同屏幕的标识(xs,sm,md,lg)
* 表示列的数量
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>栅格系统</title><link rel="stylesheet" type="text/css" href="layui-v2.2.5/layui/css/layui.css"/></head><body><div class="layui-container"><!-- 定义行--><div class="layui-row"><!-- 定义列 --><div class="layui-col-md5" style="background-color: #007DDB;">内容5/12</div><div class="layui-col-md7" style="background-color: #00F7DE;">内容7/12</div></div><div class="layui-row"><!-- 定义列 --><div class="layui-col-md4" style="background-color: #EB7350;">内容4/12</div><div class="layui-col-md4" style="background-color: #FFB800;">内容4/12</div><!-- 超过12会自动换行 --><div class="layui-col-md6" style="background-color: #C2C2C2;">内容6/12</div></div><div class="layui-row"><div class="layui-col-xs6 layui-col-sm6 layui-col-md4" style="background-color: pink;">移动:6/12 | 平板:6/12 | 桌面:4/12</div><div class="layui-col-xs6 layui-col-sm6 layui-col-md4" style="background-color: palegoldenrod;">移动:6/12 | 平板:6/12 | 桌面:4/12</div><div class="layui-col-xs4 layui-col-sm12 layui-col-md4" style="background-color: peru;">移动:4/12 | 平板:12/12 | 桌面:4/12</div><div class="layui-col-xs4 layui-col-sm7 layui-col-md8" style="background-color: powderblue;">移动:4/12 | 平板:7/12 | 桌面:8/12</div><div class="layui-col-xs4 layui-col-sm5 layui-col-md4" style="background-color: palegreen;">移动:4/12 | 平板:5/12 | 桌面:4/12</div></div></div></body>
</html>
在网页中的效果如下:
4.表单和按钮
在使用表单和按钮之前需要加载form模块,加载完成后就可以使用layui中的属性了。
<script type="text/javascript">layui.use("form",function(){var form = layui.form;});
</script>
表单:
常用属性:
required 浏览器固定的必填字段
lay-verify 需要验证的类型(required表示必填项)
class="layui-input" 提供的通用的样式
class="layui-input-block" 占据全部宽度
class="layui-input-inline" 占据部分宽度
文本框:
placeholder 当文本框为空时,默认显示的文本信息
autocomplete 表单元素是否自动填充(当浏览器中缓存中存在相同name属性的值时,会填充)
下拉框:
1.通过selectsd属性设置默认选中项
2.通过disabled属性开启禁用,可以设置select和option标签(禁用下拉框和禁用下拉选项)
3.可以通过optgroup标签给select分组
4.通过lay-search属性开启搜索匹配功能
复选框:
1.通过title属性设置自定义文本(如果不需要显示文本,则不设置title属性)
2.通过checked属性设置被选中的框
3.通过lay-skin属性设置复选框的样式效果(lay-skin="primary"表示原始效果)
4.通过disabled属性禁用元素
开关:
将一个复选框,设置lay-skin="switch"形成开关分格
1.通过lay-text="打开的值|关闭的值"来设定开关的两种状态的文本,通过"|"分割
2.通过checked设置默认打开状态
3.通过disabled属性禁用开关
4.通过value属性设置选中的值
单选框:
1.通过checked设置默认打开状态
2.通过disabled属性禁用开关
3.通过value属性设置选中的值
文本域:
class="layui-textarea"来引入文本域
按钮
1.主题
原始 class="layui-btn layui-btn-primary"
默认 class="layui-btn"
百搭 class="layui-btn layui-btn-normal"
暖色 class="layui-btn layui-btn-warm"
警告 class="layui-btn layui-btn-danger"
禁用 class="layui-btn layui-btn-disabled"
2.尺寸
大型 class="layui-btn layui-btn-lg"
默认 class="layui-btn"
小型 class="layui-btn layui-btn-sm"
迷你 class="layui-btn layui-btn-xs"
3.圆角
原始 class="layui-btn layui-btn-radius layui-btn-primary"
默认 class="layui-btn layui-btn-radius"
百搭 class="layui-btn layui-btn-radius layui-btn-normal"
暖色 class="layui-btn layui-btn-radius layui-btn-warm"
警告 class="layui-btn layui-btn-radius layui-btn-danger"
禁用 class="layui-btn layui-btn-radius layui-btn-disabled"
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>表单</title><link rel="stylesheet" type="text/css" href="layui-v2.2.5/layui/css/layui.css"/><script type="text/javascript" src="layui-v2.2.5/layui/layui.js" charset="UTF-8"></script></head><body><form class="layui-form" action=""><!-- 文本框 --><div class="layui-form-item"><label class="layui-form-label">标题</label><div class="layui-input-inline"><!-- <input type="text" name="title" class="layui-input"/> --><input type="text" name="title" required="required" placeholder="请输入标题" autocomplete="off" class="layui-input"/></div></div><div class="layui-form-item"><label class="layui-form-label">城市</label><div class="layui-input-inline"><select name="city" lay-verify="required" ><option value="">请选择一个城市</option><option value="0" selected>北京</option><option value="1">上海</option><option value="2">广州</option><option value="3">深圳</option><option value="4" disabled>杭州</option></select><!-- 分组 --><select name="quiz"><option value="">请选择</option><optgroup label="城市记忆"><option value="你工作的第一个城市">你工作的第一个城市?</option></optgroup><optgroup label="学生时代"><option value="你的工号">你的工号?</option><option value="你最喜欢的老师">你最喜欢的老师?</option></optgroup></select><!-- 开启匹配搜索 --><select name="city" lay-verify="" lay-search><option value="">请选择</option><option value="1">layer</option><option value="2">form</option><option value="4">layim</option></select></div></div><div class="layui-form-item"><label class="layui-form-label">爱好</label><div class="layui-input-block"><!-- 默认效果 --><input type="checkbox" name="hobby" title="唱歌" checked value="sing"/><input type="checkbox" name="hobby" title="跳舞" value="dance"/><input type="checkbox" name="hobby" title="Rap" disabled value="Rap"/><input type="checkbox" name="hobby" title="篮球" value="basketball"/><br /><!-- 原始效果 --><input type="checkbox" name="hobby" title="唱歌" lay-skin="primary" checked value="sing"/><input type="checkbox" name="hobby" title="跳舞" lay-skin="primary" value="dance"/><input type="checkbox" name="hobby" title="Rap" lay-skin="primary" value="Rap"/><input type="checkbox" name="hobby" title="篮球" lay-skin="primary" disabled value="basketball"/></div></div><div class="layui-form-item"><label class="layui-form-label">开关</label><div class="layui-input-block"><input type="checkbox" name="switch" lay-skin="switch"/><input type="checkbox" name="switch1" lay-skin="switch" checked/><input type="checkbox" name="switch2" lay-skin="switch" checked lay-text="ON|OFF" value="ON"/><input type="checkbox" name="switch3" lay-skin="switch" checked lay-text="ON|OFF" disabled/></div></div><div class="layui-form-item"><label class="layui-form-label">性别</label><div class="layui-input-block"><input type="radio" name="sex" value="man" title="男" checked/><input type="radio" name="sex" value="women" title="女" /><input type="radio" name="sex" value="neutral " title="中性" disabled/></div></div><div class="layui-form-item"><label class="layui-form-label">简介</label><div class="layui-input-inline"><textarea name="remark" required lay-verify="required" placeholder="请输入个人简介" class="layui-textarea"></textarea></div></div><div class="layui-form-item"><div class="layui-input-block"><button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button><button type="reset" class="layui-btn layui-btn-primary">重置</button></div></div></form><!-- 加载模块 --><script type="text/javascript">layui.use("form",function(){var form = layui.form;});</script></body>
</html>
效果如下:
5.选项卡
使用前需要加载element模块
<script>layui.use('element', function(){var element = layui.element;});
</script>
默认风格:layui-tab
简洁风格:layui-tab-brief
卡片风格:layui-tab-card
对父层容器设置属性 lay-allowClose="true" 来允许Tab选项卡被删除
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>选项卡</title><link rel="stylesheet" type="text/css" href="layui-v2.2.5/layui/css/layui.css"/><script type="text/javascript" src="layui-v2.2.5/layui/layui.js" charset="UTF-8"></script></head><body><!-- 默认风格--><div class="layui-tab"><ul class="layui-tab-title"><li class="layui-this">网站设置</li><li>用户管理</li><li>权限分配</li><li>商品管理</li><li>订单管理</li></ul><div class="layui-tab-content"><div class="layui-tab-item layui-show">网站设置</div><div class="layui-tab-item">用户管理</div><div class="layui-tab-item">权限分配</div><div class="layui-tab-item">商品管理</div><div class="layui-tab-item">订单管理</div></div></div><hr /><!-- 简洁风格 --><div class="layui-tab layui-tab-brief"><ul class="layui-tab-title"><li class="layui-this">网站设置</li><li>用户管理</li><li>权限分配</li><li>商品管理</li><li>订单管理</li></ul><div class="layui-tab-content"><div class="layui-tab-item layui-show">网站设置</div><div class="layui-tab-item">用户管理</div><div class="layui-tab-item">权限分配</div><div class="layui-tab-item">商品管理</div><div class="layui-tab-item">订单管理</div></div></div><hr /><!-- 卡片风格 --><div class="layui-tab layui-tab-card"><ul class="layui-tab-title"><li class="layui-this">网站设置</li><li>用户管理</li><li>权限分配</li><li>商品管理</li><li>订单管理</li></ul><div class="layui-tab-content"><div class="layui-tab-item layui-show">网站设置</div><div class="layui-tab-item">用户管理</div><div class="layui-tab-item">权限分配</div><div class="layui-tab-item">商品管理</div><div class="layui-tab-item">订单管理</div></div></div><hr /><!-- 带删除的选项卡 --><div class="layui-tab" lay-allowClose="true"><ul class="layui-tab-title"><li class="layui-this">网站设置</li><li>用户管理</li><li>权限分配</li><li>商品管理</li><li>订单管理</li></ul><div class="layui-tab-content"><div class="layui-tab-item layui-show">网站设置</div><div class="layui-tab-item">用户管理</div><div class="layui-tab-item">权限分配</div><div class="layui-tab-item">商品管理</div><div class="layui-tab-item">订单管理</div></div></div><script>layui.use('element', function(){var element = layui.element;});</script></body>
</html>
效果如下:
6.表格
class="layui-table"
常用属性
lay-even 如果设置了该属性,则可以显示隔行换色的效果
lay-skin 设置表单边框风格
line (行边框风格)
row (列边框风格)
nob (无边框风格)
lay-size 设置表格尺寸
sm (小尺寸)
lg (大尺寸)
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>表格</title><link rel="stylesheet" type="text/css" href="layui-v2.2.5/layui/css/layui.css"/></head><body><table class="layui-table" lay-size="lg"><colgroup><col width="150"><col width="200"><col></colgroup><thead><tr><th>昵称</th><th>加入时间</th><th>签名</th></tr> </thead><tbody><tr><td>贤心</td><td>2016-11-29</td><td>人生就像是一场修行</td></tr><tr><td>许闲心</td><td>2016-11-28</td><td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td></tr></tbody></table><hr><!-- 隔行换色--><table class="layui-table" lay-even lay-skin="row"><colgroup><col width="150"><col width="200"><col></colgroup><thead><tr><th>昵称</th><th>加入时间</th><th>签名</th></tr> </thead><tbody><tr><td>贤心</td><td>2016-11-29</td><td>人生就像是一场修行</td></tr><tr><td>许闲心</td><td>2016-11-28</td><td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td></tr><tr><td>贤心</td><td>2016-11-29</td><td>人生就像是一场修行</td></tr><tr><td>许闲心</td><td>2016-11-28</td><td>于千万人之中遇见你所遇见的人,于千万年之中,时间的无涯的荒野里…</td></tr></tbody></table></body>
</html>
效果如下:
7.面板
由于我的layui的版本有点低,有些东西用不了,在这里我找了一个高版本的layui
下载链接:百度网盘 请输入提取码
提取码:1swy
在使用前需要加载element模块
<script>layui.use('element', function(){var element = layui.element;});
</script>
常规面板:
class="layui-row layui-col-space15" 常规面板
class="layui-col-md6"
class="layui-panel"
卡片面板:
class="layui-card" 卡片面板
class="layui-card-header" 卡片面板标题头
class="layui-card-body" 卡片面板内容
折叠面板:
通过对内容元素设置class为 layui-show 来选择性初始展开某一个面板
class="layui-collapse" 折叠面板
class="layui-colla-title" 折叠面板标题头
class="layui-colla-content layui-show" 折叠的内容
开启手风琴
在折叠面板的父容器设置属性 lay-accordion 来开启手风琴,那么在进行折叠操作时,始终只会展现当前的面板。
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>面板</title><link rel="stylesheet" type="text/css" href="layui-v2.7.0-rc5/layui-v2.7.0-rc5/layui/css/layui.css"/><script type="text/javascript" src="./layui-v2.2.5/layui/layui.js" charset="UTF-8"></script></head><body> <!-- 常规面板 --> <div class="layui-row layui-col-space15"><div class="layui-col-md6"><div class="layui-panel"><div style="padding: 30px;">一个面板</div></div> </div><div class="layui-col-md6"><div class="layui-panel"><div style="padding: 30px;">一个面板</div></div> </div></div> <hr /><!-- 卡片面板 --><div class="layui-card"><div class="layui-card-header">卡片面板</div><div class="layui-card-body">卡片式面板面板通常用于非白色背景色的主体内<br>从而映衬出边框投影</div></div><hr /><!-- 折叠面板 --><div class="layui-collapse" lay-accordion><div class="layui-colla-item"><h2 class="layui-colla-title">唱歌</h2><div class="layui-colla-content layui-show">你还要我怎样</div></div><div class="layui-colla-item"><h2 class="layui-colla-title">跳舞</h2><div class="layui-colla-content layui-show">动次打次</div></div><div class="layui-colla-item"><h2 class="layui-colla-title">篮球</h2><div class="layui-colla-content layui-show">在你头上暴扣</div></div></div><script>layui.use('element', function(){var element = layui.element;});</script></body>
</html>
效果如下:
8.时间线
class="layui-timeline"通过设置该属性来设置一个时间线
class="layui-timeline-item"
class="layui-icon layui-timeline-axis" 时间线的样式
class="layui-timeline-content layui-text" 时间线中的内容
class="layui-timeline-title" 时间线标题
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>时间线</title><link rel="stylesheet" type="text/css" href="layui-v2.7.0-rc5/layui-v2.7.0-rc5/layui/css/layui.css"/><script type="text/javascript" src="./layui-v2.2.5/layui/layui.js" charset="UTF-8"></script></head><body><ul class="layui-timeline"><li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis"></i><div class="layui-timeline-content layui-text"><h3 class="layui-timeline-title">1月1日</h3><p>元旦假期</p></div></li><li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis"></i><div class="layui-timeline-content layui-text"><h3 class="layui-timeline-title">12月31日</h3><p>距离元旦节还有一天</p></div></li><li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis"></i><div class="layui-timeline-content layui-text"><h3 class="layui-timeline-title">12月30日</h3><p>距离元旦还有两天</p></div></li><li class="layui-timeline-item"><i class="layui-icon layui-timeline-axis"></i><div class="layui-timeline-content layui-text"><div class="layui-timeline-title">过去</div></div></li></ul></body>
</html>
效果如下:
9.弹出层
在这里需要加载layer模块
<script> layui.use('layer', function(){var layer = layui.layer;
</script>
type – 基本层类型
title – 标题
content – 内容
skin – 样式类名
area – 宽高
offset – 坐标
icon – 图标,信息框和加载层的私有参数
btn – 按钮
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>弹出层</title><link rel="stylesheet" type="text/css" href="layui-v2.7.0-rc5/layui-v2.7.0-rc5/layui/css/layui.css"/><script type="text/javascript" src="./layui-v2.2.5/layui/layui.js" charset="UTF-8"></script></head><body><script> layui.use('layer', function(){var layer = layui.layer;/* layer.msg('hello'); */ /* layer.alert('开心', {icon: 1});//eg2layer.msg('emo', {icon: 5});//eg3layer.load(1); */layer.confirm('are you ok?', {btn: ['确定', '取消', '未知'] //可以无限个按钮,btn3: function(index, layero){//按钮【按钮三】的回调}}, function(index, layero){//按钮【按钮一】的回调}, function(index){//按钮【按钮二】的回调});/* layer.open({content: 'wo giao',btn: ['1', '2', '3'],yes: function(index, layero){//按钮【1】的回调},btn2: function(index, layero){//按钮【2】的回调//return false 开启该代码可禁止点击该按钮关闭},btn3: function(index, layero){//按钮【3】的回调//return false 开启该代码可禁止点击该按钮关闭},cancel: function(){ //右上角关闭回调//return false 开启该代码可禁止点击该按钮关闭}}); *//* layer.open({content: '加载错误',yes: function(index, layero){layer.close(index); }}); */ }); </script></body>
</html>
效果如下:
10.数据表格
在这里需要加载table模块
<script>layui.use('table', function(){var table = layui.table;
</script>
1.通过lay-filter="test"属性来设置表格
2.三种初始化渲染方式
1).方法渲染 用JS方法的配置完成渲染
2).自动渲染 HTML配置,自动渲染
3).转换静态表格 转化一段已有的表格元素
<!DOCTYPE html>
<html><head><meta charset="utf-8"><title>数据表格</title><link rel="stylesheet" type="text/css" href="layui-v2.7.0-rc5/layui-v2.7.0-rc5/layui/css/layui.css"/><script type="text/javascript" src="layui-v2.7.0-rc5/layui-v2.7.0-rc5/layui/layui.js" charset="UTF-8"></script></head><body><!-- 数据表格1.需要加载独立的组件2.通过lay-filter="test"属性来设置表格3.三种初始化渲染方式1).方法渲染 用JS方法的配置完成渲染2).自动渲染 HTML配置,自动渲染3).转换静态表格 转化一段已有的表格元素--><!-- <table id="demo" lay-filter="test"></table> --><!-- <table lay-filter="demo"><thead><tr><th lay-data="{field:'username', width:100}">昵称</th><th lay-data="{field:'experience', width:80, sort:true}">积分</th><th lay-data="{field:'sign'}">签名</th></tr> </thead> --><!-- <table class="layui-table" lay-data="{基础参数}"><thead><tr><th lay-data="{field:'username', width:80}" rowspan="2">联系人</th><th lay-data="{field:'amount', width:120}" rowspan="2">金额</th><th lay-data="{align:'center'}" colspan="3">地址</th></tr><tr><th lay-data="{field:'province', width:80}">省</th><th lay-data="{field:'city', width:120}">市</th><th lay-data="{field:'county', width:300}">详细</th></tr></thead></table> --><table lay-filter="demo"><thead><tr><th lay-data="{field:'username', width:100}">昵称</th><th lay-data="{field:'experience', width:80, sort:true}">积分</th><th lay-data="{field:'sign'}">签名</th></tr> </thead><tbody><tr><td>贤心1</td><td>66</td><td>人生就像是一场修行a</td></tr><tr><td>贤心2</td><td>88</td><td>人生就像是一场修行b</td></tr><tr><td>贤心3</td><td>33</td><td>人生就像是一场修行c</td></tr></tbody></table><script type="text/javascript">layui.use('table', function(){var table = layui.table;//转换静态表格table.init('demo', {height: 315 //设置高度,limit: 10 //注意:请务必确保 limit 参数(默认:10)是与你服务端限定的数据条数一致//支持所有基础参数}); //第一个实例/* table.render({elem: '#demo',height: 312,url: '../../demo/table/user/-page=1&limit=30.js' //数据接口,page: true //开启分页,cols: [[ //表头{field: 'id', title: 'ID', width:80, sort: true, fixed: 'left'},{field: 'username', title: '用户名', width:80},{field: 'sex', title: '性别', width:80, sort: true},{field: 'city', title: '城市', width:80} ,{field: 'sign', title: '签名', width: 177},{field: 'experience', title: '积分', width: 80, sort: true},{field: 'score', title: '评分', width: 80, sort: true},{field: 'classify', title: '职业', width: 80},{field: 'wealth', title: '财富', width: 135, sort: true}]]}); *//* 加载*//* table.render({elem: '#demo' //指定原始表格元素选择器(推荐id选择器),height: 315 //容器高度,cols: [{}] //设置表头//,…… //更多参数参考右侧目录:基本参数选项}); */});</script></body>
</html>
效果如下: