Layui快速入门之第三节栅格布局

目录

一:栅格布局的基本概念

二:栅格布局规则

三:始终等比例水平排列案例

四:响应式规则

五:移动设备、桌面端的组合响应式展现案例

六:移动设备、平板、桌面端的复杂组合响应式展现案例

七:响应式公共类

八:列间距

九:列偏移

十:案例演示

1.列间隔

2.列偏移

3.常规布局:从小屏幕堆叠到桌面水平排列

4.栅格嵌套

5.流体容器(宽度自适应,不固定)

十一:IE8/9 兼容方案


一:栅格布局的基本概念

            Layui 栅格系统是一套具备响应式能力的布局方案,采用业界比较常用的容器横向 12 等分规则,预设了 5*12 种 CSS 排列类,内置多种大小尺寸的多终端适配,能很好地实现响应式局,这意味着一套系统,能同时适配于电脑的不同大小屏幕和手机、平板等移动屏幕,使得网页布局变得更加灵活,同时也极大地降低了 HTML/CSS 代码的耦合。

二:栅格布局规则

1.采用 layui-row 来定义行,如:<div class="layui-row"></div>
2.采用类似 layui-col-md* 这样的预设类来定义一组列(column),且放在行(row)内。其中:
  • 变量md 代表的是不同屏幕下的标记(可选值见下文)
  • 变量* 代表的是该列所占用的 12 等分数(如 6/12),可选值为 1 - 12
  • 如果多个列的“等分数值”总和等于 12,则刚好满行排列。如果大于12,多余的列将自动另起一行。
3.列可以同时出现最多 5 种不同的组合,分别是:xs / sm / md / lg / xl 2.8+,以在不同尺寸屏幕下进行自动适配。
4.可对列追加类似 layui-col-space5、 layui-col-md-offset3 这样的预设类来定义列的间距和偏移。
5.最后,在列(column)元素中放入你自己的任意元素填充内容,完成布局!

三:始终等比例水平排列案例

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>布局容器</title><!-- 栅格布局--><!-- 引入 layui.css --><link href="//unpkg.com/layui@2.8.0/dist/css/layui.css" rel="stylesheet"><!-- 引入 layui.js --><script src="//unpkg.com/layui@2.8.0/dist/layui.js"></script>
</head>
<body><!--布局容器--><div class="layui-container"><!--定义行--><div class="layui-row" ><!--定义列--><div class="layui-col-md5" style="background-color: yellow">内容5/12</div><div class="layui-col-md7" style="background-color: #00f7de">内容7/12</div></div><!--定义行--><div class="layui-row" ><!--定义列--><div class="layui-col-md5" style="background-color:rebeccapurple">内容4/12</div><div class="layui-col-md7" style="background-color: red">内容4/12</div></div></div></body>
</html>

四:响应式规则

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

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

五:移动设备、桌面端的组合响应式展现案例

<div class="layui-row"><div class="layui-col-xs12 layui-col-md8"><div class="grid-demo grid-demo-bg1">xs:12/12 | md:8/12</div></div><div class="layui-col-xs6 layui-col-md4"><div class="grid-demo">xs:6/12 | md:4/12</div></div><div class="layui-col-xs6 layui-col-md12"><div class="grid-demo grid-demo-bg2">xs:6/12 | md:12/12</div></div>
</div>

测试效果:

六:移动设备、平板、桌面端的复杂组合响应式展现案例

<div class="layui-row"><div class="layui-col-xs6 layui-col-sm6 layui-col-md4"><div class="grid-demo grid-demo-bg1">xs:6/12 | sm:6/12 | md:4/12</div></div><div class="layui-col-xs6 layui-col-sm6 layui-col-md4"><div class="grid-demo layui-bg-red">xs:6/12 | sm:6/12 | md:4/12</div></div><div class="layui-col-xs4 layui-col-sm12 layui-col-md4"><div class="grid-demo layui-bg-blue">xs:4/12 | sm:12/12 | md:4/12</div></div><div class="layui-col-xs4 layui-col-sm7 layui-col-md8"><div class="grid-demo layui-bg-green">xs:4/12 | sm:7/12 | md:8/12</div></div><div class="layui-col-xs4 layui-col-sm5 layui-col-md4"><div class="grid-demo layui-bg-black">xs:4/12 | sm:5/12 | md:4/12</div></div>
</div>

测试效果:

七:响应式公共类

类名(class)说明
layui-show-*-block定义不同设备下的 display: block; * 可选值有:xs、sm、md、lg、xl
layui-show-*-inline定义不同设备下的 display: inline; * 可选值同上
layui-show-*-inline-block定义不同设备下的 display: inline-block; * 可选值同上
layui-hide-*定义不同设备下的隐藏类,即: display: none; * 可选值同上

八:列间距

             通过“列间距”的预设类,来设定列之间的间距。且一行中最左的列不会出现左边距,最右的列不会出现右边距。列间距在保证排版美观的同时,还可以进一步保证分列的宽度精细程度。我们结合网页常用的边距,预设了 12 种不同尺寸的边距,分别是:

layui-col-space1
layui-col-space2
layui-col-space4
layui-col-space5
layui-col-space6
layui-col-space8
layui-col-space10
layui-col-space12
layui-col-space14
layui-col-space15
layui-col-space16
layui-col-space18
layui-col-space20
layui-col-space22
layui-col-space24
layui-col-space25
layui-col-space26
layui-col-space28
layui-col-space30
layui-col-space32
<p>即:支持列之间为 1px-32px 区间的所有双数间隔,以及 1px、5px、15px、25px 的单数间隔</p>

下面是一个简单的例子,列间距为 16px

<div class="layui-row layui-col-space16"><div class="layui-col-md4">1/3</div><div class="layui-col-md4">1/3</div><div class="layui-col-md4">1/3</div>
</div>

九:列偏移

                 对列追加类似 layui-col-md-offset* 的预设类,从而让列向右偏移。如:layui-col-md-offset3,即代表在“中型桌面屏幕”下,让该列向右偏移 3 个列宽度。下面是一个采用「列偏移」机制让两个列左右对齐的实例

div class="layui-row"><div class="layui-col-md4">4/12</div><div class="layui-col-md4 layui-col-md-offset4">偏移4列,从而在最右</div>
</div>

        请注意,列偏移可针对不同屏幕的标准进行设定,比如上述的例子,只会在桌面屏幕下有效,当低于桌面屏幕的规定的临界值,就会堆叠排列

十:案例演示

1.列间隔

<div class="layui-row layui-col-space1"><div class="layui-col-md3"><div class="grid-demo grid-demo-bg1">1/4</div></div><div class="layui-col-md3"><div class="grid-demo">1/4</div></div><div class="layui-col-md3"><div class="grid-demo grid-demo-bg1">1/4</div></div><div class="layui-col-md3"><div class="grid-demo">1/4</div></div>
</div><div class="layui-row layui-col-space5"><div class="layui-col-md4"><div class="grid-demo grid-demo-bg1">1/3</div></div><div class="layui-col-md4"><div class="grid-demo">1/3</div></div><div class="layui-col-md4"><div class="grid-demo grid-demo-bg1">1/3</div></div>
</div><div class="layui-row layui-col-space10"><div class="layui-col-md9"><div class="grid-demo grid-demo-bg1">9/12</div></div><div class="layui-col-md3"><div class="grid-demo">3/12</div></div>
</div><div class="layui-row layui-col-space15"><div class="layui-col-md7"><div class="grid-demo grid-demo-bg1">7/12</div></div><div class="layui-col-md5"><div class="grid-demo">5/12</div></div>
</div><div class="layui-row layui-col-space30"><div class="layui-col-md7"><div class="grid-demo grid-demo-bg1">7/12</div></div><div class="layui-col-md5"><div class="grid-demo">5/12</div></div>
</div>

效果:

2.列偏移

<div class="layui-row"><div class="layui-col-md4"><div class="grid-demo grid-demo-bg1">4/12</div></div><div class="layui-col-md4 layui-col-md-offset4"><div class="grid-demo">偏移4列</div></div>
</div><div class="layui-row"><div class="layui-col-md3 layui-col-md-offset3"><div class="grid-demo grid-demo-bg1">偏移3列</div></div><div class="layui-col-md3"><div class="grid-demo">不便宜</div></div>
</div>

效果:

3.常规布局:从小屏幕堆叠到桌面水平排列

<div class="layui-row"><div class="layui-col-md1"><div class="grid-demo grid-demo-bg1">1/12</div></div><div class="layui-col-md1"><div class="grid-demo">1/12</div></div><div class="layui-col-md1"><div class="grid-demo grid-demo-bg1">1/12</div></div><div class="layui-col-md1"><div class="grid-demo">1/12</div></div><div class="layui-col-md1"><div class="grid-demo grid-demo-bg1">1/12</div></div><div class="layui-col-md1"><div class="grid-demo">1/12</div></div><div class="layui-col-md1"><div class="grid-demo grid-demo-bg1">1/12</div></div><div class="layui-col-md1"><div class="grid-demo">1/12</div></div><div class="layui-col-md1"><div class="grid-demo grid-demo-bg1">1/12</div></div><div class="layui-col-md1"><div class="grid-demo">1/12</div></div><div class="layui-col-md1"><div class="grid-demo grid-demo-bg1">1/12</div></div><div class="layui-col-md1"><div class="grid-demo">1/12</div></div>
</div><div class="layui-row"><div class="layui-col-md9"><div class="grid-demo grid-demo-bg1">75%</div></div><div class="layui-col-md3"><div class="grid-demo">25%</div></div>
</div><div class="layui-row"><div class="layui-col-md4"><div class="grid-demo grid-demo-bg1">33.33%</div></div><div class="layui-col-md4"><div class="grid-demo">33.33%</div></div><div class="layui-col-md4"><div class="grid-demo grid-demo-bg1">33.33%</div></div>
</div><div class="layui-row"><div class="layui-col-md6"><div class="grid-demo grid-demo-bg1">50%</div></div><div class="layui-col-md6"><div class="grid-demo">50%</div></div>
</div>

效果:

4.栅格嵌套

理论上,你可以对栅格进行无穷层次的嵌套,这更加增强了栅格的表现能力

<div class="layui-row"><div class="layui-col-md5"><div class="layui-row grid-demo"><div class="layui-col-md3"><div class="grid-demo grid-demo-bg1">内部列</div></div><div class="layui-col-md9"><div class="grid-demo grid-demo-bg2">内部列</div></div><div class="layui-col-md12"><div class="grid-demo grid-demo-bg3">内部列</div></div></div></div><div class="layui-col-md7"><div class="layui-row grid-demo grid-demo-bg1"><div class="layui-col-md12"><div class="grid-demo">内部列</div></div><div class="layui-col-md9"><div class="grid-demo grid-demo-bg2">内部列</div></div><div class="layui-col-md3"><div class="grid-demo grid-demo-bg3">内部列</div></div></div></div>
</div>

效果:

5.流体容器(宽度自适应,不固定)

<div class="layui-row"><div class="layui-col-sm3"><div class="grid-demo grid-demo-bg1">25%</div></div><div class="layui-col-sm3"><div class="grid-demo">25%</div></div><div class="layui-col-sm3"><div class="grid-demo grid-demo-bg1">25%</div></div><div class="layui-col-sm3"><div class="grid-demo">25%</div></div>
</div>

效果:

十一:IE8/9 兼容方案

            事实上 IE8/IE9 并不支持 Media Queries,但你可以使用下面的补丁进行兼容(补丁来自于开源社区):

<!-- 让 IE8/9 支持媒体查询,从而兼容栅格 -->
<!--[if lt IE 9]><script src="/cdn.staticfile.org/html5shiv/r29/html5.min.js"></script><script src="/cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->

将上述代码放入你页面 <body> 标签内的任意位置即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/75231.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

day35 线程

程序&#xff1a;是为了完成特定的任务&#xff0c;用某种语言编写的一组有序指令的集合&#xff0c;是一段静态的代码 进程&#xff1a;是程序的一次执行过程 线程&#xff1a;线程是进程中的一个执行单元 线程是调度和执行的单位 处理器和线程间的关系 创建线程(重点) 创建…

大数据课程L5——网站流量项目的实时业务系统搭建

文章作者邮箱:yugongshiye@sina.cn 地址:广东惠州 ▲ 本章节目的 ⚪ 掌握网站流量项目的 Flume—>Kafka 连通; ⚪ 掌握网站流量项目的实时业务系统搭建; 一、Flume—>Kafka 连通 1. 实现步骤 1. 启动三台服务器。 2. 启动 Zookeeper 集群。 执行指…

2023国赛 B题论文 基于多波束测深技术的海洋探测建模与分析

因为一些不可抗力&#xff0c;下面仅展示小部分论文&#xff0c;其余看文末 一、问题重述 1.1 问题背景 海洋测深是测定水体深度与海底地形的重要任务&#xff0c;有两种主要技术&#xff1a;单波束测深与多波束测深。单波束适用于简单任务&#xff0c;但多波束可提供更精确…

【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献

【2023高教社杯】B题 多波束测线问题 问题分析、数学模型及参考文献 1 题目 1.1 问题背景 多波束测深系统是利用声波在水中的传播特性来测量水体深度的技术&#xff0c;是在单波束测深的基础上发展起来的&#xff0c;该系统在与航迹垂直的平面内一次能发射出数十个乃至上百个…

【C刷题】day1

一、选择题 1.正确的输出结果是 int x5,y7; void swap() { int z; zx; xy; yz; } int main() { int x3,y8; swap(); printf("%d,%d\n"&#xff0c;x, y); return 0; } 【答案】&#xff1a; 3&#xff0c;8 【解析】&#xff1a; 考点&#xff1a; &#xff…

Linux DirtyPipe权限提升漏洞 CVE-2022-0847

Linux DirtyPipe权限提升漏洞 CVE-2022-0847 漏洞描述 CVE-2022-0847-DirtyPipe-Exploit CVE-2022-0847 是存在于 Linux内核 5.8 及之后版本中的本地提权漏洞。攻击者通过利用此漏洞&#xff0c;可覆盖重写任意可读文件中的数据&#xff0c;从而可将普通权限的用户提升到特权…

(其他) 剑指 Offer 67. 把字符串转换成整数 ——【Leetcode每日一题】

❓ 剑指 Offer 67. 把字符串转换成整数 难度&#xff1a;中等 写一个函数 StrToInt&#xff0c;实现把字符串转换成整数这个功能。不能使用 atoi 或者其他类似的库函数。 首先&#xff0c;该函数会根据需要丢弃无用的开头空格字符&#xff0c;直到寻找到第一个非空格的字符为…

Mybatis复杂查询及动态SQL

文章目录 一. 较复杂的查询操作1. 参数占位符#{}和${}2. SQL注入3. like查询4. resultType与resultMap5. 多表查询5.1. 一对一表映射5.2. 一对多表映射 二. 动态SQL1. if标签2. trim标签3. where标签4. set标签5. foreach标签 本篇中使用的数据表即基础映射类都是基于上一篇博客…

【C++进阶】多态

&#x1f466;个人主页&#xff1a;Weraphael ✍&#x1f3fb;作者简介&#xff1a;目前学习C和算法 ✈️专栏&#xff1a;C航路 &#x1f40b; 希望大家多多支持&#xff0c;咱一起进步&#xff01;&#x1f601; 如果文章对你有帮助的话 欢迎 评论&#x1f4ac; 点赞&#x1…

Unity实现2D游戏跟随摄像机(平滑移动)

文章目录 玩家角色脚本字段跟随逻辑 完整代码其他相关文章连接 玩家角色 首先创建一个可用的玩家角色&#xff0c;写好移动逻辑&#xff0c;如果要使用在Unity商店中购买的资源&#xff0c;可以点击Window菜单栏> Package Manager选项&#xff0c;来打开Package Manager窗口…

应急响应-Windows挖矿实战

0x00 主机表现 windows主机cpu拉满&#xff0c;主机卡顿&#xff0c;初步判断为中了挖矿病毒 0x00 处置 通过cpu拉满状态&#xff0c;定位初步的进程文件&#xff0c; 通过进程得到的文件上传沙箱&#xff0c;结果显示为恶意文件&#xff0c; 定位到文件夹&#xff0c; 存…

【C++ Core Guidelines解析】深入理解现代C++的特性和原理

文章目录 &#x1f468;‍⚖️《C Core Guidelines解析》的主要观点&#x1f468;‍&#x1f3eb;《C Core Guidelines解析》的主要内容&#x1f468;‍&#x1f4bb;作者介绍 &#x1f338;&#x1f338;&#x1f338;&#x1f337;&#x1f337;&#x1f337;&#x1f490;&a…

蚂蚁开源编程大模型,提高开发效率

据悉&#xff0c;日前蚂蚁集团首次开源了代码大模型 CodeFuse&#xff0c;而这是蚂蚁自研的代码生成专属大模型&#xff0c;可以根据开发者的输入提供智能建议和实时支持&#xff0c;帮助开发者自动生成代码、自动增加注释、自动生成测试用例、修复和优化代码等kslouitusrtdf。…

3D封装技术发展

长期以来&#xff0c;芯片制程微缩技术一直驱动着摩尔定律的延续。从1987年的1um制程到2015年的14nm制程&#xff0c;芯片制程迭代速度一直遵循摩尔定律的规律&#xff0c;即芯片上可以容纳的晶体管数目在大约每经过18个月到24个月便会增加一倍。但2015年以后&#xff0c;芯片制…

ffmpeg-android studio创建jni项目

一、创建native项目 1.1、选择Native C 1.2、命名项目名称 1.3、选择C标准 1.4、项目结构 1.5、app的build.gradle plugins {id com.android.application }android {compileSdk 32defaultConfig {applicationId "com.anniljing.ffmpegnative"minSdk 25targetSdk 32…

使用Vue + axios实现图片上传,轻松又简单

目录 一、Vue框架介绍 二、Axios 介绍 三、实现图片上传 四、Java接收前端图片 一、Vue框架介绍 Vue是一款流行的用于构建用户界面的开源JavaScript框架。它被设计用于简化Web应用程序的开发&#xff0c;特别是单页面应用程序。 Vue具有轻量级、灵活和易学的特点&#xf…

AI系统论文阅读:SmartMoE

提出稀疏架构是为了打破具有密集架构的DNN模型中模型大小和计算成本之间的连贯关系的——最著名的MoE。 MoE模型将传统训练模型中的layer换成了多个expert sub-networks&#xff0c;对每个输入&#xff0c;都有一层special gating network 来将其分配到最适合它的expert中&…

【C#实战】控制台游戏 勇士斗恶龙(3)——营救公主以及结束界面

君兮_的个人主页 即使走的再远&#xff0c;也勿忘启程时的初心 C/C 游戏开发 Hello,米娜桑们&#xff0c;这里是君兮_&#xff0c;最近开始正式的步入学习游戏开发的正轨&#xff0c;想要通过写博客的方式来分享自己学到的知识和经验&#xff0c;这就是开设本专栏的目的。希望…

中国电信研究院发布《5G+数字孪生赋能城市数字化应用研究报告》

9月5日&#xff0c;中国电信研究院战略发展研究所联合中关村智慧城市产业技术创新战略联盟在2023年中国国际服务贸易交易会数字孪生专题论坛正式对外发布《5G数字孪生赋能城市数字化应用研究报告》。 会上&#xff0c;中国电信研究院战略发展研究所副所长季鸿从数字中国…

【Spring Boot】JPA — JPA入门

JPA简介 1. JPA是什么 JPA是Sun官方提出的Java持久化规范&#xff0c;它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据&#xff0c;通过注解或者XML描述“对象-关系表”之间的映射关系&#xff0c;并将实体对象持久化到数据库中&#xff0c;极大地简…