layui笔记

一、开始

引入网络中资源

<!-- 引入 layui.css -->
<link rel="stylesheet" href="//unpkg.com/layui@2.6.4/dist/css/layui.css">
 
<!-- 引入 layui.js -->
<script src="//unpkg.com/layui@2.6.4/dist/layui.js">

已经导入layui到根目录

<!--导入css-->
<link rel="stylesheet" href="./layui/css/layui.css">
<!--导入js-->
<script src="./layui/layui.js"></script>

模板

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  <title>开始使用 layui</title>
  <link rel="stylesheet" href="./layui/css/layui.css">
</head>
<body>
 
<!-- 你的 HTML 代码 -->
 
<script src="./layui/layui.js"></script>
<script>
layui.use(['layer', 'form'], function(){
  var layer = layui.layer
  ,form = layui.form;
  
  layer.msg('Hello World');
});
</script> 
</body>
</html>   

二、栅格系统

容器

列组合

  1. 定义行: .layui-row
  2. 定义列: .layui-col-md*
    • md表示不同屏幕的标识(xs,sm,md,lg)
    • *标识数量
  3. 每一行被分为十二列,列的总数不能超过12列,超过的话元素会换行
  4. 响应式规则
    • 栅格会自动根据屏幕分辨率选择对应的样式效果

列边距

  • 在行上写: .layui-col-space*
    • *代表的是px值(1-30)

列偏移

  • 在列上写: .layui-col-md-offset*
    • *代表格数

列嵌套

  • 列与列之可以无限嵌套

三、组件

按钮

  • 按钮链接
  • 像任意html元素设定*class=“layui-btn” ,就可以建立一个基础按钮
  • 通过追加格式为 layui-btn-{type} 的class来定义其他按钮风格
    • layui-btn-primary 原始按钮
    • layui-btn-lg 大型
    • layui-btn-radius 圆角
  • 可以设置layui-icon 来添加效地图标

导航

  • 水平导航 layui-nav
    • layui-nav-item 表示的是导航的子项
    • layui-this 表示当前被选中项
    • layui-nav-child 表示的是二级菜单
  • 垂直导航 layui-nav layui-nav-tree
  • 侧边导航 layui-nav layui-nav-tree layui-nav-side
  • 导航的主题色
    • layui-bg-颜色
      • 墨绿:molv
      • 藏青:cyan
      • 艳蓝:blue
  • 面包屑式导航
    • layui-breadcrumb
    • 通过lay-separator="符号"设置面包屑的导航分隔符

选项卡

  • 需要添加element组件
    • layui-tab 表明他是一个选项卡
    • layui-tab-title 选项卡标题
    • layui-this表明该选项初始被选中
    • layui-tab-content 对应选项卡的内容
  • 风格
    • 简单的风格: layui-tab-brief
    • lay-allowClose=“true” 可关闭的选项卡
    • lay-id=“111” lay-id用于实现动态操作

表格

  • class=“layui-table”
  • 常用属性
    • lay-even 隔行换色
    • lay-skin 表格边框风格
      • line 行边框风格
      • row 列边框风格
      • nob 无边框风格
    • lay-size 设置表格尺寸
      • sm
      • lg

表单

  • class=“layui-form”
  • 需要加载form模块
  • 格式
<form class="layui-form" action="">
	<!--这是一个input-->
  <div class="layui-form-item">
    <label class="layui-form-label">输入框</label>
    <div class="layui-input-block">
      <input type="text" name="title" required  lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">
  • 常用属性:
    • required 必填字段
    • lay-verify 需要验证的类型
    • class=“layui-input” 提供通用的样式
    • class=“layui-input-inline” 提供行内样式

输入框

  • type=“text”
  • placeholder 当文本框为空时,提供提示信息
  • autocomplete 表单元素是否自动填充
<input type="text" name="title" required  lay-verify="required" placeholder="请输入标题" autocomplete="off" class="layui-input">

下拉框

  • type=“select”
  • 一个option对应一个选项,option标签的value属性必须有值
  • optgroup标签是提示
  • lay-search 搜索匹配,可以在下拉框上进行搜索
  • disable 把选项设成不可用状态
<select name="quiz">
  <option value="">请选择</option>
  <optgroup label="城市记忆">
    <option value="你工作的第一个城市">你工作的第一个城市?</option>
  </optgroup>
  <optgroup label="学生时代">
    <option value="你的工号">你的工号?</option>
    <option value="你最喜欢的老师">你最喜欢的老师?</option>
  </optgroup>
</select>

复选框

  • type=“checkbox”
  • title代表用来提示的字段
  • check 默认选中
  • disable 表示禁用
  • lay-skin=“primary”
    • primary :原始风格
    • switch: 开关风格
<input type="checkbox" name="" title="写作" checked>
<input type="checkbox" name="" title="发呆"> 
<input type="checkbox" name="" title="禁用" disabled> 

单选框

  • type=“radio”
  • 属性title可自定义文本
  • 属性disabled开启禁用
  • 设置value="xxx"可自定义值,否则选中时返回的就是默认的on
<input type="radio" name="sex" value="nan" title="">
<input type="radio" name="sex" value="nv" title="" checked>
<input type="radio" name="sex" value="" title="中性" disabled>

行内组装表单项

  • 我认为他还是一个表单项
  • class=“layui-inline”:定义外层行内
  • class=“layui-input-inline”:定义内层行内
<div class="layui-form-item">
 
  <div class="layui-inline">
    <label class="layui-form-label">范围</label>
    <div class="layui-input-inline" style="width: 100px;">
      <input type="text" name="price_min" placeholder="" autocomplete="off" class="layui-input">
    </div>
    <div class="layui-form-mid">-</div>
    <div class="layui-input-inline" style="width: 100px;">
      <input type="text" name="price_max" placeholder="" autocomplete="off" class="layui-input">
    </div>
  </div>

忽略美化

给标签添加lay-ignore属性该标签就会不受layui的影响,变成原始样式

表单方框式规则

给表单的class添加layui-form-pane,使表单变成方框式的

弹出层

引入方式

  • 作为独立组件使用
    • 如果你只是单独想使用 layer,你可以去 layer 独立版本官网下载组件包。你需要在你的页面引入jQuery1.8以上的任意版本,并引入layer.js。
  • layui 模块化使用
    • 如果你使用的是 layui,那么你直接在官网下载 layui 框架即可,无需引入 jQuery 和 layer.js,但需要引入layui.css和layui.js

layer重要参数

/!*
 如果是页面层
 */
layer.open({
  type: 1, 
  content: '传入任意的文本或html' //这里content是一个普通的String
});
layer.open({
  type: 1,
  content: $('#id') //这里content是一个DOM,注意:最好该元素要存放在body最外层,否则可能被其它的相对元素所影响
});
//Ajax获取
$.post('url', {}, function(str){
  layer.open({
    type: 1,
    content: str //注意,如果str是object,那么需要字符拼接。
  });
});
/!*
 如果是iframe层
 */
layer.open({
  type: 2, 
  content: 'http://sentsin.com' //这里content是一个URL,如果你不想让iframe出现滚动条,你还可以content: ['http://sentsin.com', 'no']
}); 
/!*
 如果是用layer.open执行tips层
 */
layer.open({
  type: 4,
  content: ['内容', '#id'] //数组第二项即吸附元素选择器或者DOM
});        
        

日期与时间选择

  • 先引用laydate模块
  • 使用laydate的render方法给特定的标签赋日期值
    • elem:代表指定的标签,可以用id,也可以使用dom获取
    • type: 代表获取的是月还是年等等
    • format: 规定时间格式
layui.use("laydate",function(){
				var laydate=layui.laydate;
				laydate.render({
					elem:"#date1",
					type:"day",
					format:"yyyy-MM-dd"
				});
			})

分页

  • 先引用laydate模块
  • 使用laydate的render方法把特定的标签变成分页条
    • elem: 代表指定的标签,可以用id(不需要加#),也可以使用dom
    • count: 代表数据总条数,一般从后台获取
    • limit:每页展示数据条数
    • thmeme: 主题颜色
    • limits:[] 可以让用户设定每页条数,需要加在layout中
    • layout:[] 该属性可自定义分页条,通过向数组中写入元素的方法规定分页条显示那些东西
      • prev: 上一页
      • page: 中间的页数
      • next: 下一页
      • limit:让用户选择每页多少条数据
      • skip : 跳到那一页

四、数据表格

使用

  • 先导入layui的js和css
  • 启用table模块
  • 写一个table标签
  • 给table标签填上相应的值
<div class="layui-container">
			<div class="layui-row">
				<div class="layui-col-lg8 layui-col-lg-offset2">
					<table class="layui-table" id="table01"></table>
				</div>
			</div>
		</div>
layui.use("table",function(){
   			var table =layui.table;
   			//加载table示例
   			table.render({
   				elem:"#table01",
   				url:"http://1.116.92.204:8787/clockin/member/getMembers?pageNum=1&pageSize=10",
   				page:"true",
   				cols:[[
   					{field:'id',title:'id',sort:true,width:100},
   					{field:'name',title:'姓名',sort:true,width:160},
   					{field:'qq',title:'QQ',width:130},
   					{field:'state',title:'状态',sort:true,width:80},
   				]],
   			})
   		});

渲染方式

  1. 方法渲染: 用JS方法的配置完成渲染 (推荐)无需写过多的 HTML,在 JS 中指定原始元素,再设定各项参数即可。
  2. 自动渲染: HTML配置,自动渲染 无需写过多 JS,可专注于 HTML 表头部分
  3. 转换静态表格: 转化一段已有的表格元素 无需配置数据接口,在JS中指定表格元素,并简单地给表头加上自定义属性即可

属性

layui的table有很多的属性,详细内容请参考官方文档

添加头/行工具栏

  • 首先写一个头/行工具栏
  • 然后通过创建表格时的数据来添加头/行工具栏
<script type="text/html" id="barDemo">
		  <a class="layui-btn layui-btn-xs" lay-event="detail">查看</a>
		  <a class="layui-btn layui-btn-xs" lay-event="edit">编辑</a>
		  <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">删除</a>
		</script>
<script type="text/html" id="toolbarDemo">
		<div class="layui-container">
			<button class="layui-btn layui-btn-sm" lay-event="getCheckData">获取选中行数据</button>
			<button class="layui-btn layui-btn-sm" lay-event="getCheckLength">获取选中数目</button>
			<button class="layui-btn layui-btn-sm" lay-event="isAll">验证是否全选</button>
		</div>
</script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

狴犴ys

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值