ZYXS

生命不息,代码不止!
Layui栅格系统与后台框架布局

一、栅格布局规则:


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

二、响应式规则:


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

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

三、响应式公共类:


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

四、布局容器:


将栅格放入一个带有 class="layui-container" 的特定的容器中,以便在小屏幕以上的设备中固定宽度,让列可控。

五、列间距:


通过“列间距”的预设类,来设定列之间的间距。且一行中最左的列不会出现左边距,最右的列不会出现右边距。列间距在保证排版美观的同时,还可以进一步保证分列的宽度精细程度。我们结合网页常用的边距,预设了 12 种不同尺寸的边距,分别是:
layui-col-space1 列之间间隔 1px
layui-col-space3 列之间间隔 3px
layui-col-space5 列之间间隔 5px
layui-col-space8 列之间间隔 8px
layui-col-space10 列之间间隔 10px
layui-col-space12 列之间间隔 12px
layui-col-space15 列之间间隔 15px
layui-col-space18 列之间间隔 18px
layui-col-space20 列之间间隔 20px
layui-col-space22 列之间间隔 22px
layui-col-space28 列之间间隔 28px
layui-col-space30 列之间间隔 30px

六、列偏移:


对列追加 类似 layui-col-md-offset* 的预设类,从而让列向右偏移。其中 * 号代表的是偏移占据的列数,可选中为 1 - 12。 
如:layui-col-md-offset3,即代表在“中型桌面屏幕”下,让该列向右偏移3个列宽度

七、栅格嵌套:


理论上,你可以对栅格进行无穷层次的嵌套,这更加增强了栅格的表现能力。而嵌套的使用非常简单。在列元素(layui-col-md*)中插入一个行元素(layui-row),即可完成嵌套。

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4 <meta charset="UTF-8">
 5 <title>HelloWorld</title>
 6 <style type="text/css">
 7     .b{
 8         background-color:pink; 
 9     }
10     .b2{
11         background-color: green;
12     }
13 </style>
14 </head>
15 <link rel="stylesheet" href="/LayuiTest/layui/css/layui.css">
16 <body>
17 <div class="layui-container">  
18   常规布局(以中型屏幕桌面为例):
19   <div class="layui-row">
20     <div class="layui-col-md9">
21         <div class="b">你的内容 9/12</div>
22     </div>
23     <div class="layui-col-md3">
24       <div class="b2">你的内容 3/12</div>
25     </div>
26   </div>
27   <div class="layui-row">
28     <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
29        <div class="b2">移动:6/12 | 平板:6/12 | 桌面:4/12</div>
30     </div>
31     <div class="layui-col-xs6 layui-col-sm6 layui-col-md4">
32      <div class="b"> 移动:6/12 | 平板:6/12 | 桌面:4/12 </div>
33     </div>
34     <div class="layui-col-xs4 layui-col-sm12 layui-col-md4">
35        <div class="b2">移动:4/12 | 平板:12/12 | 桌面:4/12</div>
36     </div>
37     <div class="layui-col-xs4 layui-col-sm7 layui-col-md8">
38        <div class="b">移动:4/12 | 平板:7/12 | 桌面:8/12</div>
39     </div>
40     <div class="layui-col-xs4 layui-col-sm5 layui-col-md4">
41       <div class="b2">移动:4/12 | 平板:5/12 | 桌面:4/12 </div>
42     </div>
43   </div>
44   <div class="layui-row layui-col-space10">
45   <div class="layui-col-md4">
46    <div class="b">1/3</div>
47   </div>
48   <div class="layui-col-md4">
49     <div class="b2">1/3</div>
50   </div>
51   <div class="layui-col-md4">
52     <div class="b">1/3</div>
53   </div>
54 </div>
55   <div class="layui-row layui-col-space5">
56   <div class="layui-col-md5">
57     <div class="layui-row grid-demo">
58       <div class="layui-col-md3">
59                <div class="b">内部列</div>
60       </div>
61       <div class="layui-col-md9">
62         <div class="b2">内部列</div>
63       </div>
64       <div class="layui-col-md12">
65       <div class="b">内部列</div>
66       </div>
67     </div>
68   </div>
69   <div class="layui-col-md7">
70     <div class="layui-row grid-demo grid-demo-bg1">
71       <div class="layui-col-md12">
72        <div class="b2">内部列</div>
73       </div>
74       <div class="layui-col-md9">
75         <div class="b">内部列</div>
76       </div>
77       <div class="layui-col-md3">
78         <div class="b2">内部列</div>
79       </div>
80     </div>
81   </div>
82 </div>
83 </div>
84 <script src="/LayuiTest/layui/layui.js"></script>
85 </body>
86 </html>
栅格系统与后台框架布局

 


posted on 2018-10-14 11:21  ZYXS  阅读(3101)  评论(0编辑  收藏  举报