Bootstrap与Layui简单使用(适合后端)

Layui


下载

layui官网

在这里插入图片描述

资源引入

将解压后layui-v2.5.6\layui-v2.5.6下的layui文件夹放入项目根路径即可

html头:

<head>
		<meta charset="utf-8" />
		<title>数据绑定</title>
		<link rel="stylesheet"  type="text/css" href="layui/css/layui.css"/>
		<script src="./layui/layui.js" type="text/javascript"></script>
	</head>

模板文件

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title></title>
		<link rel="stylesheet"  type="text/css" href="layui/css/layui.css"/>
		<script src="./layui/layui.js" type="text/javascript"></script>
	</head>
	<body>
		
	</body>
</html>

使用

为了丰富网页布局,简化 HTML/CSS 代码的耦合,并提升多终端的适配能力,layui 在 2.0 的版本中引进了自己的一套具备响应式能力的栅格系统。我们将容器进行了 12 等分,预设了 4*12 种 CSS 排列类,它们在移动设备、平板、桌面中/大尺寸四种不同的屏幕下发挥着各自的作用

超过12格将转下一行。

一、栅格布局规则:


1.采用 layui-row 来定义行,如:
2.采用类似 layui-col-md* 这样的预设类来定义一组列(column),且放在行(row)内。其中: 变量md 代表的是不同屏幕下的标记(可选值见下文) 变量*** 代表的是该列所占用的12等分数(如6/12),可选值为 1 - 12 如果多个列的“等分数值”总和等于12,则刚好满行排列。如果大于12,多余的列将自动另起一行。
3.列可以同时出现最多四种不同的组合,分别是:xs(超小屏幕,如手机)、sm(小屏幕,如平板)、md(桌面中等屏幕)、lg(桌面大型屏幕),以呈现更加动态灵活的布局。
4.可对列追加类似 layui-col-space5layui-col-md-offset3 这样的预设类来定义列的间距和偏移。
5.最后,在列(column)元素中放入你自己的任意元素填充内容,完成布局!

使用文档:layui文档

在这里插入图片描述

**layui与bootstrap一样,拥有4层结构:**由大到小(包含)

容器:class属性为layui-containerdiv

:class为layui-rowdiv

:class为layui-col-md*

组件:图标,按钮导航栏等

栅格的响应式能力,得益于CSS3媒体查询(Media Queries)的强力支持,从而针对四类不同尺寸的屏幕,进行相应的适配处理

超小屏幕 (手机<768px)小屏幕 (平板≥768px)中等屏幕 (桌面≥992px)大型屏幕 (桌面≥1200px)
.layui-container的值auto750px970px1170px
标记xssmmdlg
列对应类 * 为1-12的等分数值layui-col-xs*layui-col-sm*layui-col-md*layui-col-lg*
总列数12
响应行为始终按设定的比例水平排列在当前屏幕下水平排列,如果屏幕大小低于临界值则堆叠排列

模块

D:\layui-v2.5.6\layui-v2.5.6\layui\lay\modules下js文件,可以理解为java中的packet(包)。约有20个

引入
  1. 使用js文件常用引入方式:

    <script src="layui/lay/modules/layer.js"></script>
    <script type="text/javascript">
    layer.msg("前端菜鸟");
    </script>
    
    
  2. 使用layui引入:

    <script type="text/javascript">
    layui.use('模块名', function(){
    调用模块;
    });
    
    
    layui.use('layer',function(){
    				layer.msg("前端菜鸟");
    			});
    			
    </script>
    
模块

在这里插入图片描述

作为后端,有必要了解的(与前后端交互有关)
form

表单操作:详情见官网

table(我认为最重要的,请求数据绑定表格)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>数据绑定</title>
		<link rel="stylesheet"  type="text/css" href="layui/css/layui.css"/>
		<script src="./layui/layui.js" type="text/javascript"></script>
		
	</head>
	<body>
		<table id="demp"></table>
		<script type="text/javascript">
layui.use('table', function(){
 var table = layui.table;
 // 执⾏渲染
 table.render({
 elem: '#demo' // 指定原始表格元素选择器(推荐id选择器)
 ,url: 'user.json' // 数据接⼝
 ,height: 315 // 容器⾼度
 ,page:true // 开启分⻚
 ,cols: [[ // 设置表头,绑定数据变量名
 {field: 'id', title: 'ID'}
 ,{field: 'username', title: '⽤户名'}
 ,{field: 'sex', title: '性别'}
 ]]
 }); 
});
</script>
</html>

下面是目前 table 模块所支持的全部参数一览表,我们对重点参数进行了的详细说明,你可以点击下述表格最右侧的“示例”去查看

参数类型说明示例值
elemString/DOM指定原始 table 容器的选择器或 DOM,方法渲染方式必填“#demo”
colsArray设置表头。值是一个二维数组。方法渲染方式必填详见表头参数
url(“接口”)-异步数据接口相关参数。其中 url 参数为必填项详见异步接口
widthNumber设定容器宽度。table容器的默认宽度是跟随它的父元素铺满,你也可以设定一个固定值,当容器中的内容超出了该宽度时,会自动出现横向滚动条。1000
heightNumber/String设定容器高度详见height
cellMinWidthNumber(layui 2.2.1 新增)全局定义所有常规单元格的最小宽度(默认:60),一般用于列宽自动分配的情况。其优先级低于表头参数中的 minWidth100
doneFunction数据渲染完的回调。你可以借此做一些其它的操作详见done回调
dataArray直接赋值数据。既适用于只展示一页数据,也非常适用于对一段已知数据进行多页展示。[{}, {}, {}, {}, …]
totalRowBoolean是否开启合计行区域。layui 2.4.0 新增false
pageBoolean/Object开启分页(默认:false) 注:从 layui 2.2.0 开始,支持传入一个对象,里面可包含 laypage 组件所有支持的参数(jump、elem除外){theme: ‘#c00’}
limitNumber每页显示的条数(默认:10)。值务必对应 limits 参数的选项。 注意:优先级低于 page 参数中的 limit 参数30
limitsArray每页条数的选择项,默认:[10,20,30,40,50,60,70,80,90]。 注意:优先级低于 page 参数中的 limits 参数[30,60,90]
loadingBoolean是否显示加载条(默认:true)。如果设置 false,则在切换分页时,不会出现加载条。该参数只适用于 url 参数开启的方式false
titleString定义 table 的大标题(在文件导出等地方会用到)layui 2.4.0 新增“用户表”
textObject自定义文本,如空数据时的异常提示等。注:layui 2.2.5 开始新增。详见自定义文本
autoSortBoolean默认 true,即直接由 table 组件在前端自动处理排序。 若为 false,则需自主排序,通常由服务端直接返回排序好的数据。 注意:该参数为 layui 2.4.4 新增详见监听排序
initSortObject初始排序状态。用于在数据表格渲染完毕时,默认按某个字段排序。详见初始排序
idString设定容器唯一 id。id 是对表格的数据操作方法上是必要的传递条件,它是表格容器的索引,你在下文诸多地方都将会见识它的存在。 值得注意的是:从 layui 2.2.0 开始,该参数也可以自动从
中的 id 参数中获取。
test
skin(等)-设定表格各种外观、尺寸等详见表格风格

​ cols - 表头参数一览表

​ 相信我,在你还尚无法驾驭 layui table 的时候,你的所有焦点都应放在这里,它带引领你完成许多可见和不可见甚至你无法想象的工作。如果你采用的是方法渲染,cols 是一个二维数组,表头参数设定在数组内;如果你采用的自动渲染,表头参数的设定应放在 标签上

参数类型说明示例值
fieldString设定字段名。字段名的设定非常重要,且是表格数据列的唯一标识username
titleString设定标题名称用户名
widthNumber/String设定列宽,若不填写,则自动分配;若填写,则支持值为:数字、百分比 请结合实际情况,对不同列做不同设定。200 30%
minWidthNumber局部定义当前常规单元格的最小宽度(默认:60),一般用于列宽自动分配的情况。其优先级高于基础参数中的 cellMinWidth100
typeString设定列类型。可选值有: normal(常规列,无需设定) checkbox(复选框列) radio(单选框列,layui 2.4.0 新增) numbers(序号列) space(空列)任意一个可选值
LAY_CHECKEDBoolean是否全选状态(默认:false)。必须复选框列开启后才有效,如果设置 true,则表示复选框默认全部选中。true
fixedString固定列。可选值有:left(固定在左)、right(固定在右)。一旦设定,对应的列将会被固定在左或右,不随滚动条而滚动。 注意:如果是固定在左,该列必须放在表头最前面;如果是固定在右,该列必须放在表头最后面。left(同 true) right
hideBoolean是否初始隐藏列,默认:false。layui 2.4.0 新增true
totalRowBoolean/Object是否开启该列的自动合计功能,默认:false。 当开启时,则默认由前端自动合计当前行数据。从 layui 2.5.6 开始: 若接口直接返回了合计行数据,则优先读取接口合计行数据,格式如下: codelayui.code{ "code": 0, "msg": "", "count": 1000, "data": [{}, {}] "totalRow": { "score": "666" ,"experience": "999" }} 如上,在 totalRow 中返回所需统计的列字段名和值即可。 另外,totalRow 字段同样可以通过 parseData 回调来解析成为 table 组件所规定的数据格式。true
totalRowTextString用于显示自定义的合计文本。layui 2.4.0 新增“合计:”
sortBoolean是否允许排序(默认:false)。如果设置 true,则在对应的表头显示排序icon,从而对列开启排序功能。 注意:不推荐对值同时存在“数字和普通字符”的列开启排序,因为会进入字典序比对。比如:‘贤心’ > ‘2’ > ‘100’,这可能并不是你想要的结果,但字典序排列算法(ASCII码比对)就是如此。true
unresizeBoolean是否禁用拖拽列宽(默认:false)。默认情况下会根据列类型(type)来决定是否禁用,如复选框列,会自动禁用。而其它普通列,默认允许拖拽列宽,当然你也可以设置 true 来禁用该功能。false
editString单元格编辑类型(默认不开启)目前只支持:text(输入框)text
eventString自定义单元格点击事件名,以便在 tool 事件中完成对该单元格的业务处理任意字符
styleString自定义单元格样式。即传入 CSS 样式background-color: #5FB878; color: #fff;
alignString单元格排列方式。可选值有:left(默认)、center(居中)、right(居右)center
colspanNumber单元格所占列数(默认:1)。一般用于多级表头3
rowspanNumber单元格所占行数(默认:1)。一般用于多级表头2
templetString自定义列模板,模板遵循 laytpl 语法。这是一个非常实用的功能,你可借助它实现逻辑处理,以及将原始数据转化成其它格式,如时间戳转化为日期字符等详见自定义模板
toolbarString绑定工具条模板。可在每行对应的列中出现一些自定义的操作性按钮详见行工具事件

下面是一些方法渲染和自动渲染的配置方式:

BootStrap


下载

bootstrap官网下载:去官网

Jquery:下载

资源引入:

拷⻉ dist/css 中的 bootstrap.min.css 到项⽬ css 中

拷⻉ dist/js 中的 bootstrap.min.js 到项⽬的 js 中

引入jquery

<!-- Bootstrap -->
    <link type="text/css" href="css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>

    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="js/jquery-3.5.1.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="js/bootstrap.min.js"></script>

空白模板

<!DOCTYPE html>
<html lang="zh-CN">
  <head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 上述3个meta标签*必须*放在最前面,任何其他内容都*必须*跟随其后! -->
    <title>Bootstrap 101 Template</title>

    <!--  -->
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/css/bootstrap.min.css" rel="stylesheet">

    <!-- HTML5 shim 和 Respond.js 是为了让 IE8 支持 HTML5 元素和媒体查询(media queries)功能 -->
    <!-- 警告:通过 file:// 协议(就是直接将 html 页面拖拽到浏览器中)访问页面时 Respond.js 不起作用 -->
    <!--[if lt IE 9]>
      <script src="https://cdn.jsdelivr.net/npm/html5shiv@3.7.3/dist/html5shiv.min.js"></script>
      <script src="https://cdn.jsdelivr.net/npm/respond.js@1.4.2/dest/respond.min.js"></script>
    <![endif]-->
  </head>
  <body>
    <h1>你好,世界!</h1>

    <!-- jQuery (Bootstrap 的所有 JavaScript 插件都依赖 jQuery,所以必须放在前边) -->
    <script src="https://cdn.jsdelivr.net/npm/jquery@1.12.4/dist/jquery.min.js"></script>
    <!-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。 -->
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@3.3.7/dist/js/bootstrap.min.js"></script>
  </body>
</html>

使用

在这里插入图片描述

想用什么组件直接从官网复制黏贴到模板html,修改为自己的样式:

嫌麻烦的可以使用可视化布局,在将代码拷贝到html中:可视化布局

在这里插入图片描述

最外面是容器:有两种

//自适应
<div class="container-fluid">
	
</div>
//固定
<div class="container">
	
</div>

布局设置(放容器内) : 一行布局,bootstr一行12格,这里有5种方案:12格,6+6格,8+4格,4+4+4格,2+6+4格;每一部分放一个基本css,组件或交换组件
在这里插入图片描述

  • 1
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值