当前位置:   article > 正文

前端开发_HTML5_布局-栅格布局_html栅格布局

html栅格布局

栅格布局

1.引入

我们之前学习了多个布局的方式,下面我们一起来学习一种比较重要的布局方式:栅格布局。栅格布局是一种较为特殊的弹性布局,栅格(grid)是一种自适应布局,能根据不同终端自动伸缩容器的宽高。flex根据轴线(axis)布局,看起来像是一维布局;而grid针对网格线(grid line)布局,看起来更像是二维布局。

在我们熟知的常用前端框架中都可以发现栅格布局的系统实现,如常用的bootstrap等,我们可以把栅格布局看成是类似Excel表格一样,把整个页面按照不同比例的格子划分为不同的内容,然后我们按照划分的比例,来实现页面的布局。

2.栅格布局

(1)、栅格布局中常用的样式属性

  1. 栅格布局常用的样式属性
  2. 我们知道栅格布局是一种比较特殊的弹性布局,所以我们在编写栅格布局的时候会使用到比较多的弹性布局的内容,下面我们逐一列举常用的属性。
  3. display:flex; //设置弹性布局容器
  4. flex flow:row nowrap; //设置flex容器水平方向排布,在内容比较多且排布不下的时候不允许换行
  5. justfy-content:space-around; //排布内容的时候均匀排布,并且内容之间会存在这均匀的空格
  6. flex-shrink:1; //弹性的收缩比例
  7. flex-grow:数值; //弹性的扩展比例,一般设置的数值就是占据宽度的比例数

(2)、基本的栅格布局

        这里我们把每一个div所占据的区域划分为一个栅格内容,按照不同的比例划分出不同比例的栅格信息,然后把整个栅格内容按照所示的内容进行一个套用。我们先把需要的模板写出来,代码和实现的效果图如下:

  1. <meta name="viewport"
  2. content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
  3. <style type="text/css">
  4. * {
  5. margin: 0px;
  6. padding: 0px;
  7. }
  8. /**定义基本的弹性布局内容**/
  9. .grid {
  10. display: flex;
  11. flex-flow: row nowrap;
  12. justify-content: space-around;
  13. }
  14. /**按照比例定义栅格的宽度和收缩比例,这里我们把他划分为8个区域**/
  15. .grid-cell-1,
  16. .grid-cell-2,
  17. .grid-cell-3,
  18. .grid-cell-4,
  19. .grid-cell-5,
  20. .grid-cell-6,
  21. .grid-cell-7,
  22. .grid-cell-8 {
  23. flex-shrink: 1;
  24. /*设置收缩比率*/
  25. padding: 3px;
  26. /*设置内边距*/
  27. }
  28. /**设置扩展比例,也可以认为是所占据的比例的数量**/
  29. .grid-cell-1 {
  30. flex-grow: 1;
  31. /*占据比例数量的1/8*/
  32. }
  33. .grid-cell-2 {
  34. flex-grow: 2;
  35. /*占据比例数量的2/8*/
  36. }
  37. .grid-cell-3 {
  38. flex-grow: 3;
  39. /*占据比例数量的3/8*/
  40. }
  41. .grid-cell-4 {
  42. flex-grow: 4;
  43. /*占据比例数量的4/8*/
  44. }
  45. .grid-cell-5 {
  46. flex-grow: 5;
  47. /*占据比例数量的5/8*/
  48. }
  49. .grid-cell-6 {
  50. flex-grow: 6;
  51. /*占据比例数量的6/8*/
  52. }
  53. .grid-cell-7 {
  54. flex-grow: 7;
  55. /*占据比例数量的7/8*/
  56. }
  57. .grid-cell-8 {
  58. flex-grow: 8;
  59. /*占据比例数量的8/8*/
  60. }
  61. .box {
  62. background-color: #00AA00;
  63. height: 50px;
  64. width: 100%;
  65. }
  66. </style>
  67. <body>
  68. <div class="grid">
  69. <div class="grid-cell-1">
  70. <div class="box">
  71. </div>
  72. </div>
  73. <div class="grid-cell-1">
  74. <div class="box">
  75. </div>
  76. </div>
  77. <div class="grid-cell-1">
  78. <div class="box">
  79. </div>
  80. </div>
  81. <div class="grid-cell-1">
  82. <div class="box">
  83. </div>
  84. </div>
  85. <div class="grid-cell-1">
  86. <div class="box">
  87. </div>
  88. </div>
  89. <div class="grid-cell-1">
  90. <div class="box">
  91. </div>
  92. </div>
  93. <div class="grid-cell-1">
  94. <div class="box">
  95. </div>
  96. </div>
  97. <div class="grid-cell-1">
  98. <div class="box">
  99. </div>
  100. </div>
  101. </div>
  102. <div class="grid">
  103. <div class="grid-cell-2">
  104. <div class="box">
  105. </div>
  106. </div>
  107. <div class="grid-cell-2">
  108. <div class="box">
  109. </div>
  110. </div>
  111. <div class="grid-cell-2">
  112. <div class="box">
  113. </div>
  114. </div>
  115. <div class="grid-cell-2">
  116. <div class="box">
  117. </div>
  118. </div>
  119. </div>
  120. <div class="grid">
  121. <div class="grid-cell-4">
  122. <div class="box">
  123. </div>
  124. </div>
  125. <div class="grid-cell-4">
  126. <div class="box">
  127. </div>
  128. </div>
  129. </div>
  130. <div class="grid">
  131. <div class="grid-cell-8">
  132. <div class="box">
  133. </div>
  134. </div>
  135. </div>
  136. <div class="grid">
  137. <div class="grid-cell-2">
  138. <div class="box">
  139. </div>
  140. </div>
  141. <div class="grid-cell-6">
  142. <div class="box">
  143. </div>
  144. </div>
  145. </div>
  146. <div class="grid">
  147. <div class="grid-cell-3">
  148. <div class="box">
  149. </div>
  150. </div>
  151. <div class="grid-cell-5">
  152. <div class="box">
  153. </div>
  154. </div>
  155. </div>
  156. <div class="grid">
  157. <div class="grid-cell-5">
  158. <div class="box">
  159. </div>
  160. </div>
  161. <div class="grid-cell-3">
  162. <div class="box">
  163. </div>
  164. </div>
  165. </div>
  166. <div class="grid">
  167. <div class="grid-cell-6">
  168. <div class="box">
  169. </div>
  170. </div>
  171. <div class="grid-cell-2">
  172. <div class="box">
  173. </div>
  174. </div>
  175. </div>
  176. </body>

 通过上述的布局方式,我们几乎可以布局出任何样式的h5页面,具体的布局页面我们会在后面的讲授过程中继续讲解。

本文内容由网友自发贡献,转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/295469
推荐阅读
相关标签
  

闽ICP备14008679号