三、网格布局框架
1,grd.css 介绍
(1)Grd 是一款基于 Flexbox 的 CSS 网格系统框架。通过这个 CSS 网格框架,我们可以在页面中进行各种形式的网格布局。它默认采用和 Bootstrap 相同的 12 列布局。
(2)Grd 是轻量级框架,代码如下:
注意:我这里对其原始代码进行了改进,在原有的横向布局基础上,增加了纵向布局(column)的样式。
.Grid { display: flex; flex-wrap: wrap; } .Grid.\-column { flex-direction: column; } .Grid.\-top { align-items: flex-start; } .Grid.\-middle { align-items: center; } .Grid.\-bottom { align-items: flex-end; } .Grid.\-stretch { align-items: stretch; } .Grid.\-baseline { align-items: baseline; } .Grid.\-left { justify-content: flex-start; } .Grid.\-center { justify-content: center; } .Grid.\-right { justify-content: flex-end; } .Grid.\-between { justify-content: space-between; } .Grid.\-around { justify-content: space-around; } .Grid.\-align-content-start { align-content: start; } .Cell { box-sizing: border-box; flex-shrink: 0; } .Grid:not(.\-column)>.Cell.\-fill { width: 0; min-width: 0; flex-grow: 1; } .Grid:not(.\-column)>.Cell.\-1of12 { width: calc(100% * 1 / 12); } .Grid:not(.\-column)>.Cell.\-2of12 { width: calc(100% * 2 / 12); } .Grid:not(.\-column)>.Cell.\-3of12 { width: calc(100% * 3 / 12); } .Grid:not(.\-column)>.Cell.\-4of12 { width: calc(100% * 4 / 12); } .Grid:not(.\-column)>.Cell.\-5of12 { width: calc(100% * 5 / 12); } .Grid:not(.\-column)>.Cell.\-6of12 { width: calc(100% * 6 / 12); } .Grid:not(.\-column)>.Cell.\-7of12 { width: calc(100% * 7 / 12); } .Grid:not(.\-column)>.Cell.\-8of12 { width: calc(100% * 8 / 12); } .Grid:not(.\-column)>.Cell.\-9of12 { width: calc(100% * 9 / 12); } .Grid:not(.\-column)>.Cell.\-10of12 { width: calc(100% * 10 / 12); } .Grid:not(.\-column)>.Cell.\-11of12 { width: calc(100% * 11 / 12); } .Grid:not(.\-column)>.Cell.\-12of12 { width: 100%; } .Grid.\-column>.Cell.\-fill { height: 0; min-height: 0; flex-grow: 1; } .Grid.\-column>.Cell.\-1of12 { height: calc(100% * 1 / 12); } .Grid.\-column>.Cell.\-2of12 { height: calc(100% * 2 / 12); } .Grid.\-column>.Cell.\-3of12 { height: calc(100% * 3 / 12); } .Grid.\-column>.Cell.\-4of12 { height: calc(100% * 4 / 12); } .Grid.\-column>.Cell.\-5of12 { height: calc(100% * 5 / 12); } .Grid.\-column>.Cell.\-6of12 { height: calc(100% * 6 / 12); } .Grid.\-column>.Cell.\-7of12 { height: calc(100% * 7 / 12); } .Grid.\-column>.Cell.\-8of12 { height: calc(100% * 8 / 12); } .Grid.\-column>.Cell.\-9of12 { height: calc(100% * 9 / 12); } .Grid.\-column>.Cell.\-10of12 { height: calc(100% * 10 / 12); } .Grid.\-column>.Cell.\-11of12 { height: calc(100% * 11 / 12); } .Grid.\-column>.Cell.\-12of12 { height: 100%; }
2,使用样例
(1)下面使用 grd.css 来绘制一个简单的页面:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Title</title> <link rel="stylesheet" href="normalize.css" type="text/css"> <link rel="stylesheet" href="grd.css" type="text/css"> <style> span { width: 50px; height: 50px; margin: 10px 0 0 10px; background-color: #60BDFF; color: #FFFFFF; font-size: 20px; font-weight:bold; } </style> </head> <body> <div style="height: 300px;"> <div class="Cell -3of12" style="background: lightseagreen">3/12</div> <div class="Cell -9of12 Grid -column"> <div style="height: 100px;background: darksalmon;">9/12</div> <div class="Cell -fill Grid -align-content-start" style="background: lavender"> <span>1</span> <span>2</span> <span>3</span> <span>4</span> <span>5</span> <span>6</span> <span>7</span> <span>8</span> </div> </div> </div> </body> </html>
(2)显示效果如下: