mirror of https://github.com/layui/layui
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
8.9 KiB
8.9 KiB
title | toc |
---|---|
面板 panel,card,collapse | true |
面板
面板是一个包含普通面板(panel)、卡片面板(card)、折叠面板(collapse)的集合
常规面板
常规面板通常作为包裹其他元素的形式存在,如与基础菜单 menu
经常搭配使用。
<div class="layui-panel"> <div style="padding: 32px;">面板任意内容</div> </div>
卡片面板
<div class="layui-bg-gray" style="padding: 16px;"> <div class="layui-row layui-col-space15"> <div class="layui-col-md6"> <div class="layui-card"> <div class="layui-card-header">卡片面板</div> <div class="layui-card-body"> 卡片式面板面板通常用于非白色背景色的主体内<br> 从而映衬出边框投影 </div> </div> </div> <div class="layui-col-md6"> <div class="layui-card"> <div class="layui-card-header">卡片面板</div> <div class="layui-card-body"> 结合 layui 的栅格系统<br> 轻松实现响应式布局 </div> </div> </div> </div> </div>
折叠面板
<div class="layui-collapse"> <div class="layui-colla-item"> <div class="layui-colla-title">Collapse Title 1</div> <div class="layui-colla-content"> <p>Content 1</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">Collapse Title 2</div> <div class="layui-colla-content"> <p>Content 2</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">Collapse Title 3</div> <div class="layui-colla-content"> <ul> <li>Content list</li> <li>Content list</li> </ul> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">折叠面板的标题</div> <div class="layui-colla-content"> <p>折叠面板的内容</p> </div> </div> </div> <!-- import layui -->
开启手风琴
在折叠面板容器上追加 lay-accordion
属性,开启手风琴效果,即点击展开当前面板的同时,折叠其他面板。
<div class="layui-collapse" lay-accordion> <div class="layui-colla-item"> <div class="layui-colla-title">layui 主要面向哪些用户群体?</div> <div class="layui-colla-content layui-show"> Layui 作为一个前端界面组件库,但面向的却主要是后端开发者。 <br>即无需涉足各类构建工具,只需面向浏览器本身,便可将页面所需呈现的元素与交互信手拈来。 </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">为什么我的眼里常含泪水?</div> <div class="layui-colla-content"> <p>因为我对这片土地爱的深沉。</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">Why are my eyes always brimming with tears?</div> <div class="layui-colla-content"> <p>Because I love this land so deeply…</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">一个折叠面板的标题?</div> <div class="layui-colla-content"> <p>一个折叠面板的内容。</p> </div> </div> </div> <!-- import layui -->
折叠面板嵌套
折叠面板内部支持无限嵌套,即折叠面板中再放置无限层级的折叠面板,以实现树形折叠结构。如:
<div class="layui-collapse" lay-accordion> <div class="layui-colla-item"> <div class="layui-colla-title">文学家</div> <div class="layui-colla-content layui-show"> <div class="layui-collapse" lay-accordion> <div class="layui-colla-item"> <div class="layui-colla-title">唐代</div> <div class="layui-colla-content layui-show"> <div class="layui-collapse" lay-accordion> <div class="layui-colla-item"> <div class="layui-colla-title">杜甫</div> <div class="layui-colla-content layui-show"> 一代诗圣 </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">李白</div> <div class="layui-colla-content"> <p>一代诗仙</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">王勃</div> <div class="layui-colla-content"> <p>千古绝唱《滕王阁序》</p> </div> </div> </div> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">宋代</div> <div class="layui-colla-content"> <p>一个属于文人的时代</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">现代</div> <div class="layui-colla-content"> <p>文学大师纷纷登场</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">当代</div> <div class="layui-colla-content"> <p>文人、作家</p> </div> </div> </div> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">科学家</div> <div class="layui-colla-content"> <p>伟大的科学家</p> </div> </div> <div class="layui-colla-item"> <div class="layui-colla-title">艺术家</div> <div class="layui-colla-content"> <p>浑身散发着艺术细胞</p> </div> </div> </div> <!-- import layui -->
折叠面板渲染
element.render('collapse', filter);
- 参数
'collapse'
: 渲染折叠面板的固定值 - 参数
filter
: 对应折叠面板容器lay-filter
的属性值
在元素加载完毕后,element
模块会自动对元素进行一次渲染。而当元素为动态插入时,需通过该方法完成初始化渲染。
折叠面板事件
element.on('collapse(filter)', callback)
- 参数
collapse(filter)
是一个特定结构。collapse
为折叠面板点击事件固定值;filter
为导航容器属性lay-filter
对应的值。
- 参数
callback
为事件执行时的回调函数,并返回一个object
类型的参数。
<div class="layui-collapse" lay-filter="filter-collapse">
<div class="layui-colla-item">
<div class="layui-colla-title">Collapse Title 1</div>
<div class="layui-colla-content">
<p>Content 1</p>
</div>
</div>
<div class="layui-colla-item">
<div class="layui-colla-title">Collapse Title 2</div>
<div class="layui-colla-content">
<p>Content 2</p>
</div>
</div>
<div class="layui-colla-item">
<div class="layui-colla-title">Collapse Title 3</div>
<div class="layui-colla-content">
<ul>
<li>Content list</li>
<li>Content list</li>
</ul>
</div>
</div>
<div class="layui-colla-item">
<div class="layui-colla-title">折叠面板的标题</div>
<div class="layui-colla-content">
<p>折叠面板的内容</p>
</div>
</div>
</div>
<!-- import layui -->
<script>
layui.use(function(){
var element = layui.element;
var layer = layui.layer;
// 折叠面板点击事件
element.on('collapse(filter-collapse)', function(data){
console.log(data.show); // 得到当前面板的展开状态,true or false
console.log(data.title); // 得到当前点击面板的标题区域对象
console.log(data.content); // 得到当前点击面板的内容区域对象
// 显示状态,仅用于演示
layer.msg('展开状态:'+ data.show);
});
});
</script>