前端组件库Layui知识点大全(二)

简介: 教程来源 https://hllft.cn/category/tech-trends.html Layui提供灵活响应式布局系统,含`layui-container`(固定宽)与`layui-fluid`(100%宽)两种容器;栅格基于12等分,支持`xs/sm/md/lg`四端适配、偏移、间距及无限嵌套,助力快速构建结构清晰、多端兼容的页面。

三、布局系统与栅格

Layui提供了灵活实用的布局系统,帮助开发者快速搭建页面结构。它主要包括响应式容器和强大的栅格系统。

3.1 容器
在开始布局之前,需要一个容器来包裹内容。Layui提供了两种容器:
固定宽度容器 layui-container:在大屏幕(≥1200px)下宽度固定为1170px,在平板和手机端自动适配,通常用于官网、文章展示页。
自适应宽度容器 layui-fluid:宽度始终为屏幕宽度的100%,通常用于后台管理系统的主内容区域。

<!-- 固定宽度容器 -->
<div class="layui-container">
  内容区域
</div>

<!-- 全屏宽度容器 -->
<div class="layui-fluid">
  内容区域
</div>

3.2 栅格系统
Layui的栅格系统采用传统的12等分布局,通过行(layui-row)和列(layui-col-*)的组合来创建页面布局。

3.2.1 基础栅格

<div class="layui-container">
  <div class="layui-row">
    <!-- 占用 6/12 即 50% 宽度 -->
    <div class="layui-col-md6">
      左侧内容
    </div>
    <!-- 占用 6/12 即 50% 宽度 -->
    <div class="layui-col-md6">
      右侧内容
    </div>
  </div>
</div>

3.2.2 响应式支持
Layui栅格支持四种设备宽度,通过不同的后缀来控制不同屏幕下的显示比例:
image.png
示例:手机全屏显示,平板及以上显示两列

<div class="layui-row">
  <div class="layui-col-xs12 layui-col-sm6">
    在手机上占满整行,平板上占一半
  </div>
  <div class="layui-col-xs12 layui-col-sm6">
    在手机上占满整行,平板上占一半
  </div>
</div>

更复杂的响应式示例:手机1列,平板2列,桌面3列

<div class="layui-row">
  <div class="layui-col-xs12 layui-col-sm6 layui-col-md4">
    商品卡片1
  </div>
  <div class="layui-col-xs12 layui-col-sm6 layui-col-md4">
    商品卡片2
  </div>
  <div class="layui-col-xs12 layui-col-sm6 layui-col-md4">
    商品卡片3
  </div>
  <div class="layui-col-xs12 layui-col-sm6 layui-col-md4">
    商品卡片4
  </div>
</div>

3.2.3 列偏移
使用layui-col-md-offset*可以在右侧产生空白偏移,实现内容的水平居中或错落布局。

<!-- 水平居中 -->
<div class="layui-row">
  <!-- 向左偏移 4 个栅格,再占据 4 个栅格,实现水平居中 -->
  <div class="layui-col-md4 layui-col-md-offset4">
    居中的内容
  </div>
</div>

<!-- 错落布局 -->
<div class="layui-row">
  <div class="layui-col-md4">内容1</div>
  <div class="layui-col-md4 layui-col-md-offset4">内容2(靠右)</div>
</div>

3.2.4 列间距
使用layui-col-space*设置列与列之间的间距,支持1-30px。由于栅格采用内边距实现间距,如果列有背景色,通常需要在内部再嵌套一个元素来显示背景。

<!-- 间距为20px的卡片网格 -->
<div class="layui-row layui-col-space20">
  <div class="layui-col-md6">
    <!-- 此处需要嵌套 div 来显示背景或边框 -->
    <div style="background-color: #f8f8f8; padding: 15px; border-radius: 4px;">
      卡片内容1
    </div>
  </div>
  <div class="layui-col-md6">
    <div style="background-color: #f8f8f8; padding: 15px; border-radius: 4px;">
      卡片内容2
    </div>
  </div>
</div>

3.2.5 栅格嵌套
栅格系统支持无限嵌套,可以在列中再次嵌套行和列。

<div class="layui-row">
  <div class="layui-col-md6">
    <!-- 左侧主区域 -->
    <div class="layui-row">
      <div class="layui-col-md6">子列1</div>
      <div class="layui-col-md6">子列2</div>
    </div>
  </div>
  <div class="layui-col-md6">
    右侧区域
  </div>
</div>

四、基础元素与视觉

在开始使用复杂的交互模块之前,Layui提供了一套完整的基础CSS元素,用来构建页面的视觉骨架。

4.1 按钮
Layui的按钮样式丰富,只需为button、a等元素添加layui-btn类即可。它还提供了多种主题色和尺寸。

<!-- 基础按钮 -->
<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-lg">大型按钮</button>
<button class="layui-btn layui-btn-sm">小型按钮</button>
<button class="layui-btn layui-btn-xs">迷你按钮</button>

<!-- 圆角按钮 -->
<button class="layui-btn layui-btn-radius">圆角按钮</button>

<!-- 流体按钮(占满父容器宽度) -->
<button class="layui-btn layui-btn-fluid">流体按钮</button>

<!-- 图标按钮 -->
<button class="layui-btn">
  <i class="layui-icon layui-icon-home"></i> 首页
</button>

<!-- 只带图标的按钮 -->
<button class="layui-btn layui-btn-primary">
  <i class="layui-icon layui-icon-delete"></i>
</button>

<!-- 按钮组 -->
<div class="layui-btn-group">
  <button class="layui-btn">增加</button>
  <button class="layui-btn">编辑</button>
  <button class="layui-btn">删除</button>
</div>

4.2 图标
Layui内置了大量图标(Layui 2.8版本后新增了18个),使用layui-icon类即可调用。图标采用字体方式渲染,可以随意改变颜色和大小。

<!-- 基础图标 -->
<i class="layui-icon layui-icon-face-smile"></i>

<!-- 带文字的图标链接 -->
<a href="javascript:;" class="layui-btn layui-btn-primary">
  <i class="layui-icon layui-icon-delete"></i> 删除
</a>

<!-- 调整图标大小(通过CSS) -->
<i class="layui-icon layui-icon-home" style="font-size: 30px; color: #16baaa;"></i>

<!-- 常用图标示例 -->
<i class="layui-icon layui-icon-loading"></i>  <!-- 加载图标 -->
<i class="layui-icon layui-icon-ok-circle"></i> <!-- 成功图标 -->
<i class="layui-icon layui-icon-close"></i>      <!-- 关闭图标 -->
<i class="layui-icon layui-icon-edit"></i>       <!-- 编辑图标 -->
<i class="layui-icon layui-icon-add-1"></i>      <!-- 添加图标 -->
<i class="layui-icon layui-icon-search"></i>     <!-- 搜索图标 -->

4.3 表单
表单是后台管理系统中的核心元素。Layui的表单模块form负责管理输入框、下拉框、单选框、复选框和开关等组件。重要提示:所有表单项必须放在具有class="layui-form"的容器内,否则样式和事件将不生效。
4.3.1 输入框

<form class="layui-form" action="">
  <!-- 普通输入框 -->
  <div class="layui-form-item">
    <label class="layui-form-label">用户名</label>
    <div class="layui-input-block">
      <input type="text" name="username" required lay-verify="required" 
             placeholder="请输入" autocomplete="off" class="layui-input">
    </div>
  </div>

  <!-- 带前缀/后缀的输入框 -->
  <div class="layui-form-item">
    <label class="layui-form-label">金额</label>
    <div class="layui-input-inline" style="width: 200px;">
      <input type="text" name="price" placeholder="¥" class="layui-input">
    </div>
    <div class="layui-form-mid">元</div>
  </div>

  <!-- 带搜索的下拉框 -->
  <div class="layui-form-item">
    <label class="layui-form-label">城市</label>
    <div class="layui-input-block">
      <select name="city" lay-search>
        <option value="">请选择</option>
        <option value="010">北京</option>
        <option value="021">上海</option>
        <option value="020">广州</option>
        <option value="0755">深圳</option>
      </select>
    </div>
  </div>

  <!-- 开关 -->
  <div class="layui-form-item">
    <label class="layui-form-label">状态</label>
    <div class="layui-input-block">
      <input type="checkbox" name="status" lay-skin="switch" lay-text="开启|关闭">
    </div>
  </div>

  <!-- 滑块 -->
  <div class="layui-form-item">
    <label class="layui-form-label">音量</label>
    <div class="layui-input-block">
      <input type="text" name="volume" lay-filter="volume" class="layui-input">
    </div>
  </div>

  <!-- 按钮 -->
  <div class="layui-form-item">
    <div class="layui-input-block">
      <button class="layui-btn" lay-submit lay-filter="formDemo">立即提交</button>
      <button type="reset" class="layui-btn layui-btn-primary">重置</button>
    </div>
  </div>
</form>

<script>
layui.use(['form', 'slider'], function(){
  var form = layui.form;
  var slider = layui.slider;

  // 滑块初始化
  slider.render({
    elem: '#sliderTest',
    min: 0,
    max: 100
  });

  // 监听提交事件
  form.on('submit(formDemo)', function(data){
    layer.msg(JSON.stringify(data.field));
    return false; // 阻止页面跳转
  });
});
</script>

4.3.2 表单验证
Layui内置了lay-verify属性用于表单验证,常见值有:
image.png

<div class="layui-form-item">
  <label class="layui-form-label">手机号</label>
  <div class="layui-input-block">
    <input type="text" name="phone" lay-verify="required|phone" 
           placeholder="请输入手机号" class="layui-input">
  </div>
</div>

<div class="layui-form-item">
  <label class="layui-form-label">邮箱</label>
  <div class="layui-input-block">
    <input type="text" name="email" lay-verify="email" 
           placeholder="请输入邮箱" class="layui-input">
  </div>
</div>

来源:
https://hllft.cn/category/software-apps.html

相关文章
|
11天前
|
人工智能 数据可视化 安全
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
本文详解如何用阿里云Lighthouse一键部署OpenClaw,结合飞书CLI等工具,让AI真正“动手”——自动群发、生成科研日报、整理知识库。核心理念:未来软件应为AI而生,CLI即AI的“手脚”,实现高效、安全、可控的智能自动化。
34611 28
王炸组合!阿里云 OpenClaw X 飞书 CLI,开启 Agent 基建狂潮!(附带免费使用6个月服务器)
|
3天前
|
人工智能 机器人 开发工具
Windows 也能跑 Hermes Agent!完整安装教程 + 飞书接入,全程避坑
Hermes Agent 是一款自学习AI智能体系统,支持一键安装与飞书深度集成。本教程详解Windows下从零部署全流程,涵盖依赖自动安装、模型配置、飞书机器人接入及四大典型兼容性问题修复,助你快速构建企业级AI协作平台。(239字)
4718 10
|
5天前
|
人工智能 自然语言处理 安全
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
本文介绍了Claude Code终端AI助手的使用指南,主要内容包括:1)常用命令如版本查看、项目启动和更新;2)三种工作模式切换及界面说明;3)核心功能指令速查表,包含初始化、压缩对话、清除历史等操作;4)详细解析了/init、/help、/clear、/compact、/memory等关键命令的使用场景和语法。文章通过丰富的界面截图和场景示例,帮助开发者快速掌握如何通过命令行和交互界面高效使用Claude Code进行项目开发,特别强调了CLAUDE.md文件作为项目知识库的核心作用。
4940 19
Claude Code 全攻略:命令大全 + 实战工作流(建议收藏)
|
22天前
|
人工智能 JSON 机器人
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
本文带你零成本玩转OpenClaw:学生认证白嫖6个月阿里云服务器,手把手配置飞书机器人、接入免费/高性价比AI模型(NVIDIA/通义),并打造微信公众号“全自动分身”——实时抓热榜、AI选题拆解、一键发布草稿,5分钟完成热点→文章全流程!
45464 151
让龙虾成为你的“公众号分身” | 阿里云服务器玩Openclaw
|
12天前
|
人工智能 JSON 监控
Claude Code 源码泄露:一份价值亿元的 AI 工程公开课
我以为顶级 AI 产品的护城河是模型。读完这 51.2 万行泄露的源码,我发现自己错了。
5246 21
|
5天前
|
机器学习/深度学习 存储 人工智能
还在手写Skill?hermes-agent 让 Agent 自己进化能力
Hermes-agent 是 GitHub 23k+ Star 的开源项目,突破传统 Agent 依赖人工编写Aegnt Skill 的瓶颈,首创“自我进化”机制:通过失败→反思→自动生成技能→持续优化的闭环,让 Agent 在实践中自主构建、更新技能库,持续自我改进。
1083 3

热门文章

最新文章

下一篇
开通oss服务