《layui宇宙版教程》:选项卡
《Layui宇宙版教程》提供2000人的QQ群进行交流学习,QQ群号:1046961650,或通过手机QQ扫描二维码进入:
1.10 选项卡
Tab选项卡提供多种风格,支持响应式,支持对选项卡进行动态CURD操作等功能。
依赖加载组件:element。
请注意:必须加载element模块,相关功能才能正常使用。
1.10.1 默认Tab选项卡
测试代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="js/jquery3.5.1.js"></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">内容1</div>
<div class="layui-tab-item">内容2</div>
<div class="layui-tab-item">内容3</div>
<div class="layui-tab-item">内容4</div>
<div class="layui-tab-item">内容5</div>
</div>
</div>
<script src="layui/layui.all.js"></script>
<script>
var element = layui.element;
var form = layui.form;
form.render();
</script>
</body>
</html>
运行结果如图1-xx所示。
1.10.2 Tab简洁风格
通过对class追加layui-tab-brief类样式来设置简洁风格。
如果存在layui-tab-item的内容区域,在切换时自动定位到对应内容,如果不存在内容区域,则不会定位到对应内容。
测试代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="js/jquery3.5.1.js"></script>
</head>
<body>
<div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief">
<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>
</div>
<script src="layui/layui.all.js"></script>
<script>
var element = layui.element;
var form = layui.form;
form.render();
</script>
</body>
</html>
运行结果如图1-xx所示。
1.10.3 Tab卡片风格
通过对class追加layui-tab-card来设置卡片风格。
测试代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="js/jquery3.5.1.js"></script>
</head>
<body>
<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" style="height: 100px;">
<div class="layui-tab-item layui-show">1</div>
<div class="layui-tab-item">2</div>
<div class="layui-tab-item">3</div>
<div class="layui-tab-item">4</div>
<div class="layui-tab-item">5</div>
<div class="layui-tab-item">6</div>
</div>
</div>
<script src="layui/layui.all.js"></script>
<script>
var element = layui.element;
var form = layui.form;
form.render();
</script>
</body>
</html>
运行结果如图1-xx所示。
1.10.4 Tab响应式
当容器的宽度不足以显示全部的选项时,即会自动出现展开图标。
测试代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="js/jquery3.5.1.js"></script>
</head>
<body>
<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>
<li>订单管理</li>
<li>财务管理</li>
<li>报表管理</li>
</ul>
<div class="layui-tab-content" style="height: 100px;">
<div class="layui-tab-item layui-show">1</div>
<div class="layui-tab-item">2</div>
<div class="layui-tab-item">3</div>
<div class="layui-tab-item">4</div>
<div class="layui-tab-item">5</div>
<div class="layui-tab-item">6</div>
<div class="layui-tab-item">7</div>
<div class="layui-tab-item">8</div>
</div>
</div>
<script src="layui/layui.all.js"></script>
<script>
var element = layui.element;
var form = layui.form;
form.render();
</script>
</body>
</html>
运行结果如图1-xx所示。
1.10.5 带删除的Tab
可以对父层容器设置属性lay-allowClose="true"允许Tab选项卡被删除。
测试代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="js/jquery3.5.1.js"></script>
</head>
<body>
<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">1</div>
<div class="layui-tab-item">2</div>
<div class="layui-tab-item">3</div>
<div class="layui-tab-item">4</div>
<div class="layui-tab-item">5</div>
<div class="layui-tab-item">6</div>
</div>
</div>
<script src="layui/layui.all.js"></script>
<script>
var element = layui.element;
var form = layui.form;
form.render();
</script>
</body>
</html>
运行结果如图1-xx所示。
1.10.6 ID焦点定位
可以通过对选项卡设置属性lay-id="xxx"来作为唯一的匹配索引,以用于外部的定位切换。属性lay-id是扮演这项功能的主要角色,它是动态操作的唯一凭据。
测试代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<title>layout 后台大布局 - Layui</title>
<link rel="stylesheet" href="layui/css/layui.css">
<script src="js/jquery3.5.1.js"></script>
</head>
<body>
<div class="layui-tab" lay-filter="test1">
<ul class="layui-tab-title">
<li class="layui-this" lay-id="111">文章列表</li>
<li lay-id="222">发送信息</li>
<li lay-id="333">权限分配</li>
<li lay-id="444">审核</li>
<li lay-id="555">订单管理</li>
</ul>
<div class="layui-tab-content">
<div class="layui-tab-item layui-show">1</div>
<div class="layui-tab-item">2</div>
<div class="layui-tab-item">3</div>
<div class="layui-tab-item">4</div>
<div class="layui-tab-item">5</div>
</div>
</div>
<input type="button" value="button1" onclick="javascript:clickMethod1()" />
<br />
<input type="button" value="button2" onclick="javascript:clickMethod2()" />
<br />
<input type="button" value="button3" onclick="javascript:clickMethod3()" />
<br />
<input type="button" value="button4" onclick="javascript:clickMethod4()" />
<br />
<input type="button" value="button5" onclick="javascript:clickMethod5()" />
<br />
<script>
function clickMethod1() {
layui.element.tabChange('test1', "111");
}
function clickMethod2() {
layui.element.tabChange('test1', "222");
}
function clickMethod3() {
layui.element.tabChange('test1', "333");
}
function clickMethod4() {
layui.element.tabChange('test1', "444");
}
function clickMethod5() {
layui.element.tabChange('test1', "555");
}
</script>
<script src="layui/layui.all.js"></script>
<script>
var element = layui.element;
var form = layui.form;
form.render();
</script>
</body>
</html>
运行结果如图1-xx所示。