layui 的基本使用
B 站学习视频:https://www.bilibili.com/video/BV185411A7zi?p=1&vd_source=307bc3effb1327ab9f03ead48deecd5b
1. 基础知识
1.1 什么是 layui
layui(谐音:类 UI) 是一套开源的 Web UI 解决方案,采用自身经典的模块化规范,
并遵循原生 HTML/CSS/JS 的开发方式,极易上手,拿来即用。其风格简约轻盈,
而组件优雅丰盈,从源代码到使用方法的每一处细节都经过精心雕琢,
非常适合网页界面的快速开发。layui 区别于那些基于
MVVM 底层的前端框架,却并非逆道而行,而是信奉返璞归真之道。
准确地说,它更多是面向后端开发者,你无需涉足前端各种工具,只需面对浏览器本身,
让一切你所需要的元素与交互,从这里信手拈来。
原文链接:https://blog.csdn.net/weixin_59196705/article/details/124807399
1.2 layui 的特点
- layui 属于轻量级的框架,简单美观。适合于开发后端模式,它在服务端页面上有非常好的效果。
- layui 是提供给后端开发人员的 ui 框架,基于 DOM 驱动。
2. layui 的下载、安装及使用
-
下载
layui 官网:http://layui.org.cn
-
安装
新建一个 html 项目,将文件解压然后复制进项目内即可
-
使用
在 html 中,引用指定的文件即可
例:
<html> <head> <meta charset="utf-8"> <title>layui</title> <!-- 引入 layui 核心 css 文件 --> <link rel="stylesheet" type="test/css" href="文件所在路径"/> <!-- 引入 layui.js 文件 --> <script src="文件所在路径" type="text/javascript" charset="utf-8"></script> </head> <body> <!-- 调用 layui.js 的指定模块 --> <script type="text/javascript"> // 导航依赖 element 模块 layui.use('element',function(){ var element = layui.element; }); </script> </body> </html>
3. 页面元素
3.1 布局
3.1.1 布局容器
- 新建 html 页面
<html>
<head>
<meta charset="utf-8">
<title>布局容器</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
布局容器
1. 固定宽度(两侧有留白效果)
2. 完整宽度(占据屏宽度的 100%)
-->
<!-- 固定宽度 -->
<div class="layui-container" style="backgroud-color:navajowhite;height:300px;">
固定宽度
</div>
<!-- 完整宽度 -->
<div class="layui-fluid" style="background-color:cyan;height:300px;">
完整宽度
</div>
</body>
</html>
3.1.2 栅格系统
3.1.2.1 栅格布局规则
<html>
<head>
<meta charset="utf-8">
<title>栅格布局规则</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
栅格系统
1. 定义行 .layui-row
2. 定义列 .layui-col-md*
md 表示不同屏幕的标识(xs、sm、md、lg)。
* 表示列的数量(想要占几列),总数不能超过12,否则会自动换行。
-->
<!-- 布局容器 -->
<div class="layui-container">
<!-- 定义行 -->
<div class="layui-row">
<!-- 定义列 -->
<div class="layui-col-md5" style="background-color:deepskyblue;">
内容5/12
</div>
<div class="layui-col-md7" style="background-color:bisque;">
内容7/12
</div>
</div>
<!-- 定义行 -->
<div class="layui-row">
<!-- 定义列 -->
<div class="layui-col-md4" style="background-color:powderblue;">
内容4/12
</div>
<div class="layui-col-md4" style="background-color:mediumaquamarine;">
内容4/12
</div>
<div class="layui-col-md4" style="background-color:grey;">
内容4/12
</div>
</div>
</div>
</body>
</html>
3.1.2.2 响应式规则
<html>
<head>
<meta charset="utf-8">
<title>响应式规则</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
响应式规则:
1. 栅格会自动根据屏幕的分辨率选择对应的样式效果
超小屏幕(手机)< 768px : xs 12 layui-col-xs*
小屏幕(平板)>= 768px : sm 12 layui-col-sm*
中等屏幕(桌面)>= 992px : md 12 layui-col-md*
大型屏幕(桌面)>= 1200px : lg 12 layui-col-lg*
-->
<div class="layui-container">
<h3>平板、桌面端的不同表现:</h3>
<div class="layui-row">
<div class="layui-row">
<div class="layui-col-sm6 layui-col-md4" style="background-color:mediumaquamarine;">
平板 >= 768px: 6/12 | 桌面端 >= 992排序: 4/12
</div>
<div class="layui-row">
<div class="layui-col-sm4 layui-col-md6" style="background-color:mediumaquamarine;">
平板 >= 768px: 4/12 | 桌面端 >= 992px: 6/12
</div>
</div>
<div class="layui-row">
<div class="layui-col-sm12 layui-col-md8" style="background-color:coral;">
平板 >= 768px: 12/12 | 桌面端 >= 992px: 8/12
</div>
</div>
</div>
</div>
</body>
</html>
3.1.2.3 列边距
<html>
<head>
<meta charset="utf-8">
<title>列边距</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
列边距规则:
1. .layui-col-space* 支持列之间 1px-30px 区间的所有双数间隔,以及 1px、5px、15px、25px 的单数间隔
注意:layui-col-space 设置后不起作用主要是因为设置的是 padding ,也就是说向内缩,所以设置背景颜色 padding 也是会添上颜色,看起来好像没有边距一样。可以在里面再加一个 div ,来达到目的。
-->
<div class="layui-container">
<h3>列边距</h3>
<div class="layui-row layui-col-space10">
<div class="layui-col-md4">
<div style="background-color:hotpink">4</div>
</div>
<div class="layui-col-md4">
<div style="background-color:indianred">4</div>
</div>
<div class="layui-col-md4">
<div style="background-color:powerblue">4</div>
</div>
</div>
</div>
</body>
</html>
3.1.2.4 列偏移
<html>
<head>
<meta charset="utf-8">
<title>列偏移</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
将列向右移动指定列数
layui-col-md-offset*
* 代表的是列数
-->
<div class="layui-container">
<h3>列偏移</h3>
<div class="layui-row">
<div class="layui-col-md4">
<div style="background-color:cyan">4</div>
</div>
<div class="layui-col-md4 layui-col-md-offset4">
<div style="background-color:fuchsia">向右移动四列</div>
</div>
</div>
</body>
</html>
3.1.2.5 列嵌套
<html>
<head>
<meta charset="utf-8">
<title>列嵌套</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
-->
<div class="layui-container">
<h3>列嵌套</h3>
<div class="layui-row">
<div class="layui-col-md6">
<div style="background-color:mediumaquamarine">
<!-- 嵌套部分 -->
<div class="layui-row layui-col-space10">
<div class="layui-col-md3">
<div style="background-color:burlywood">3</div>
</div>
<div class="layui-col-md5">
<div style="background-color:indianred">5</div>
</div>
<div class="layui-col-md4">
<div style="background-color:mediumaquamarine">4</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
3.2 基本元素
3.2.1 按钮
<html>
<head>
<meta charset="utf-8">
<title>按钮</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="test/css" href="文件所在路径"/>
</head>
<body>
<!--
按钮:
向任意 HTML 元素设定 *class="layui-btn"* ,建立一个基础按钮。
通过追加格式为 *layui-btn-{type}* 的 class 来定义其他按钮风格。
-->
<!-- 基础按钮 -->
<button type="button" class="layui-btn">一个标准的按钮</button>
<a href="http://www.layui.com" class="layui-btn">一个可以跳转的按钮</a>
<div class="layui-btn">一个按钮</div>
<hr>
<!-- 不同主题的按钮 -->
<button class="layui-btn">默认按钮</button>
<button class="layui-btn layui-btn-primary">原始按钮</button>
<button class="layui-btn layui-btn-normal">百搭按钮</button>
<button class="layui-btn layui-btn-warm">暖色按钮</button>
<button class="layui-btn layui-btn-danger">警告按钮</button>
<button class="layui-btn layui-btn-disabled">禁用按钮</button>
<!-- 不同尺寸的按钮 -->
<button class="layui-btn layui-btn-primary layui-btn-lg">大型按钮</button>
<button class="layui-btn">默认大小按钮</button>
<button class="layui-btn layui-btn-sm">小型按钮</button>
<button class="layui-btn layui-btn-xs">迷你按钮</button>
<!-- layui-btn-radius 圆角按钮 -->
<button class="layui-btn layui-btn-radius">默认按钮</button>
<button class="layui-btn layui-btn-primary layui-btn-radius">原始按钮</button>
<button class="layui-btn layui-btn-normal layui-btn-radius">百搭按钮</button>
<button class="layui-btn layui-btn-warm layui-btn-radius">暖色按钮</button>
<button class="layui-btn layui-btn-danger layui-btn-radius">警告按钮</button>
<button class="layui-btn layui-btn-disabled layui-btn-radius">禁用按钮</button>
<hr>
<!-- 图标按钮 -->
<button type="button" class="layui-btn">
<i class="layui-icon"></i>添加
</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-primary">
<i class="layui-icon">ဂ</i>刷新
</button>
<button type="button" class="layui-btn layui-btn-sm layui-btn-warm">
<i class="layui-icon layui-icon-heart"></i>关注
</button>
<!-- 具体的图标有很多种,可以自行选择图标使用 -->
</body>
</html>
3.2.2 导航
<html>
<head>
<meta charset="utf-8">
<title>导航</title>
<!-- 引入 layui 核心 css 文件 -->
<link rel="stylesheet" type="text/css" href="文件所在路径"/>
<!-- 引入 layui.js 文件 -->
<script src="文件所在路径" type="text/javascript" charset="utf-8"></script>
</head>
<body>
<!--
导航
水平导航 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
通过 layui-separator="符号" 设置面包屑导航的分隔符
-->
<!-- 水平导航 layui-nav -->
<ul class="layui-nav">
<li class="layui-nav-item"><a href="">最新活动</a></li>
<li class="layui-nav-item"><a href="">产品</a></li>
<li class="layui-nav-item layui-this"><a href="">大数据</a></li>
<li class="layui-nav-item">
<a href="">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="">移动模块</a></dd>
<dd><a href="">后台模块</a></dd>
<dd><a href="">电商平台</a></dd>
</dl>
</li>
</ul>
<!--垂直导航 layui-nav layui-nav-tree -->
<ul class="layui-nav layui-nav-tree">
<li class="layui-nav-item"><a href="">最新活动</a></li>
<li class="layui-nav-item"><a href="">产品</a></li>
<li class="layui-nav-item layui-this"><a href="">大数据</a></li>
<li class="layui-nav-item">
<a href="">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="">移动模块</a></dd>
<dd><a href="">后台模块</a></dd>
<dd><a href="">电商平台</a></dd>
</dl>
</li>
</ul>
<!--侧边导航 layui-nav layui-nav-tree layui-nav-side -->
<ul class="layui-nav layui-nav-tree layui-nav-side">
<li class="layui-nav-item"><a href="">最新活动</a></li>
<li class="layui-nav-item"><a href="">产品</a></li>
<li class="layui-nav-item layui-this"><a href="">大数据</a></li>
<li class="layui-nav-item">
<a href="">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="">移动模块</a></dd>
<dd><a href="">后台模块</a></dd>
<dd><a href="">电商平台</a></dd>
</dl>
</li>
</ul>
<!-- 设置导航的主题颜色 -->
<ul class="layui-nav layui-nav-tree layui-nav-side layui-bg-molv">
<li class="layui-nav-item"><a href="">最新活动</a></li>
<li class="layui-nav-item"><a href="">产品</a></li>
<li class="layui-nav-item layui-this"><a href="">大数据</a></li>
<li class="layui-nav-item">
<a href="">解决方案</a>
<dl class="layui-nav-child">
<dd><a href="">移动模块</a></dd>
<dd><a href="">后台模块</a></dd>
<dd><a href="">电商平台</a></dd>
</dl>
</li>
</ul>
<!-- 面包屑式导航 -->
<span class="layui-breadcrumb">
<a href="">首页</a>
<a href="">国际新闻</a>
<a href="">亚太地区</a>
<a><cite>正文</cite></a>
</span>
<br>
<!-- 设置属性 *layui-separator=""* 来自定义分隔符 -->
<span class="layui-breadcrumb" layui-separator="_">
<a href="">首页</a>
<a href="">国际新闻</a>
<a href="">亚太地区</a>
<a><cite>正文</cite></a>
</span>
<br>
<span class="layui-breadcrumb" layui-separator="|">
<a href="">首页</a>
<a href="">国际新闻</a>
<a href="">亚太地区</a>
<a><cite>正文</cite></a>
</span>
<script type="text/javascript">
// 导航依赖 element 模块
layui.use('element',function(){
var element = layui.element;
});
</script>
</body>
</html>