1. <style>
    2. body{
    3. padding-bottom: 1000px;
    4. }
    5. </style>
    6. </head>
    7. <body>
    8. <div class="container">
    9. <!-- 变成弹性盒模型 -->
    10. <div class="row">
    11. <div class="col bg-primary text-white py-2 d-flex">这是一个弹性盒子</div>
    12. <div class="col bg-info text-white py-2 d-inline-flex">这是一个弹性盒子</div>
    13. </div>
    14. <!-- 变成响应式的弹性盒模型 d-{breakpoint}-flex/inline-flex -->
    15. <div class="row mt-1">
    16. <div class="col bg-primary text-white py-2 d-lg-flex">这是一个弹性盒子</div>
    17. <div class="col bg-info text-white py-2 d-lg-inline-flex">这是一个弹性盒子</div>
    18. </div>
    19. <!--
    20. 子元素的排列方向
    21. 1、flex-row 正序水平排列
    22. 2、flex-row-reverse 倒序水平排列
    23. 3、flex-column 正序垂直排列
    24. 3、flex-column-reverse 倒序垂直排列
    25. -->
    26. <div class="row bg-dark mt-5 flex-row"> <!-- 正序水平排列 -->
    27. <div class="bg-success text-white">第1列</div>
    28. <div class="bg-success text-white">第2列</div>
    29. <div class="bg-success text-white">第3列</div>
    30. </div>
    31. <div class="row bg-dark mt-1 flex-row-reverse"> <!-- 倒序水平排列 -->
    32. <div class="bg-success text-white">第1列</div>
    33. <div class="bg-success text-white">第2列</div>
    34. <div class="bg-success text-white">第3列</div>
    35. </div>
    36. <div class="row bg-dark mt-1 flex-column"> <!-- 正序垂直排列 -->
    37. <div class="bg-success text-white">第1列</div>
    38. <div class="bg-success text-white">第2列</div>
    39. <div class="bg-success text-white">第3列</div>
    40. </div>
    41. <div class="row bg-dark mt-1 flex-column-reverse"> <!-- 倒序垂直排列 -->
    42. <div class="bg-success text-white">第1列</div>
    43. <div class="bg-success text-white">第2列</div>
    44. <div class="bg-success text-white">第3列</div>
    45. </div>
    46. <!-- 响应式的排列方式,flex-{breakpoint}-row/column/row-reverse/column-reverse -->
    47. <div class="row bg-dark mt-1 flex-sm-column-reverse"> <!-- 倒序垂直排列 -->
    48. <div class="bg-success text-white">第1列</div>
    49. <div class="bg-success text-white">第2列</div>
    50. <div class="bg-success text-white">第3列</div>
    51. </div>
    52. <!--
    53. 子元素的对齐方式
    54. 1、主轴上的对齐 - 水平对齐
    55. 2、交叉轴(纵轴)上的对齐 - 垂直对齐
    56. -->
    57. <div class="row bg-dark mt-5 justify-content-start"><!-- 主轴上的对齐-左对齐 -->
    58. <div class="bg-danger text-white">第1列</div>
    59. <div class="bg-danger text-white">第2列</div>
    60. <div class="bg-danger text-white">第3列</div>
    61. </div>
    62. <div class="row bg-dark mt-1 justify-content-end"><!-- 主轴上的对齐-右对齐 -->
    63. <div class="bg-danger text-white">第1列</div>
    64. <div class="bg-danger text-white">第2列</div>
    65. <div class="bg-danger text-white">第3列</div>
    66. </div>
    67. <div class="row bg-dark mt-1 justify-content-center"><!-- 主轴上的对齐-居中对齐 -->
    68. <div class="bg-danger text-white">第1列</div>
    69. <div class="bg-danger text-white">第2列</div>
    70. <div class="bg-danger text-white">第3列</div>
    71. </div>
    72. <div class="row bg-dark mt-1 justify-content-between"><!-- 主轴上的对齐-两端对齐 -->
    73. <div class="bg-danger text-white">第1列</div>
    74. <div class="bg-danger text-white">第2列</div>
    75. <div class="bg-danger text-white">第3列</div>
    76. </div>
    77. <div class="row bg-dark mt-1 justify-content-around"><!-- 主轴上的对齐-分散居中对齐 -->
    78. <div class="bg-danger text-white">第1列</div>
    79. <div class="bg-danger text-white">第2列</div>
    80. <div class="bg-danger text-white">第3列</div>
    81. </div>
    82. <div class="row bg-dark mt-1 justify-content-lg-around"><!-- 主轴上的对齐-分散居中对齐-响应式,justify-content-{breakpoint}-between/... -->
    83. <div class="bg-danger text-white">第1列</div>
    84. <div class="bg-danger text-white">第2列</div>
    85. <div class="bg-danger text-white">第3列</div>
    86. </div>
    87. <div class="row bg-dark mt-1 align-items-start" style="height: 100px;"><!-- 交叉轴上的对齐-顶对齐 -->
    88. <div class="bg-danger text-white">第1列</div>
    89. <div class="bg-danger text-white">第2列</div>
    90. <div class="bg-danger text-white">第3列</div>
    91. </div>
    92. <div class="row bg-dark mt-1 align-items-end" style="height: 100px;"><!-- 交叉轴上的对齐-底对齐 -->
    93. <div class="bg-danger text-white">第1列</div>
    94. <div class="bg-danger text-white">第2列</div>
    95. <div class="bg-danger text-white">第3列</div>
    96. </div>
    97. <div class="row bg-dark mt-1 align-items-center" style="height: 100px;"><!-- 交叉轴上的对齐-中间对齐 -->
    98. <div class="bg-danger text-white">第1列</div>
    99. <div class="bg-danger text-white">第2列</div>
    100. <div class="bg-danger text-white">第3列</div>
    101. </div>
    102. <div class="row bg-dark mt-1 align-items-baseline" style="height: 100px;"><!-- 交叉轴上的对齐-基线对齐 -->
    103. <div class="bg-danger text-white">第1列</div>
    104. <div class="bg-danger text-white">第2列</div>
    105. <div class="bg-danger text-white">第3列</div>
    106. </div>
    107. <div class="row bg-dark mt-1 align-items-stretch" style="height: 100px;"><!-- 交叉轴上的对齐-
    108. 如果子元素没有设置高或者设置成了auto,子元素将占满整个容器的高度 -->
    109. <div class="bg-danger text-white">第1列</div>
    110. <div class="bg-danger text-white" style="height: 50px;">第2列</div>
    111. <div class="bg-danger text-white">第3列</div>
    112. </div>
    113. <div class="row bg-dark mt-1 align-items-md-start" style="height: 100px;"><!-- 交叉轴上的对齐-响应式 align-items-{breakpoint}-start/... -->
    114. <div class="bg-danger text-white">第1列</div>
    115. <div class="bg-danger text-white" style="height: 50px;">第2列</div>
    116. <div class="bg-danger text-white">第3列</div>
    117. </div>
    118. <!--
    119. 元素的自身的对齐方式
    120. -->
    121. <div class="row bg-secondary mt-5" style="height: 100px;">
    122. <div class="bg-warning text-white align-self-start">第1列</div>
    123. <div class="bg-warning text-white align-self-end">第2列</div>
    124. <div class="bg-warning text-white align-self-center">第3列</div>
    125. <div class="bg-warning text-white align-self-baseline">第4列</div>
    126. <div class="bg-warning text-white align-self-stretch">第5列</div>
    127. </div>
    128. <!-- 元素的自身的对齐方式-响应式,align-self-{breakpoint}-start -->
    129. <div class="row bg-secondary mt-1" style="height: 100px;">
    130. <div class="bg-warning text-white align-self-xl-start">第1列</div>
    131. <div class="bg-warning text-white align-self-xl-end">第2列</div>
    132. <div class="bg-warning text-white align-self-xl-center">第3列</div>
    133. <div class="bg-warning text-white align-self-xl-baseline">第4列</div>
    134. <div class="bg-warning text-white align-self-xl-stretch">第5列</div>
    135. </div>
    136. <!-- 填满 -->剩余的空间的瓜分
    137. <div class="row mt-5 bg-primary">
    138. <div class="bg-info text-white border-right flex-fill">第1列</div>
    139. <div class="bg-info text-white border-right flex-fill">第2列</div>
    140. <div class="bg-info text-white border-right flex-fill">第3列</div>
    141. </div>
    142. <!-- 填满,响应式,flex-{breakpoint}-fill -->
    143. <div class="row mt-1 bg-primary">
    144. <div class="bg-info text-white border-right flex-md-fill">第1列</div>
    145. <div class="bg-info text-white border-right flex-md-fill">第2列</div>
    146. <div class="bg-info text-white border-right flex-md-fill">第3列</div>
    147. </div>
    148. <!--
    149. 伸缩值:也就算是瓜分空间
    150. 1、.flex-grow-* 扩展比例,数字为0表示不扩展,数字为1表示扩展。只有这两个数字
    151. 2、.flex-shrink-* 收缩比例,数字为0表示不收缩,数字为1表示收缩。只有这两个数字
    152. -->
    153. <div class="row mt-5 bg-primary">
    154. <div class="bg-danger border-right text-white flex-grow-1">第1列</div>
    155. <div class="bg-danger border-right text-white">第2列</div>
    156. <div class="bg-danger border-right text-white">第3列</div>
    157. </div>
    158. <div class="mt-1 bg-primary d-flex">
    159. <div class="bg-danger border-right text-white w-100">第1列</div>
    160. <div class="bg-danger border-right text-white flex-shrink-1">第2列</div>牺牲自己的空间来填充你的空间
    161. </div>
    162. <!-- 伸缩响应式,flex-{breakpoint}-{grow|shrink}-0/1 -->
    163. <div class="row bg-primary">
    164. <div class="bg-danger border-right text-white flex-lg-grow-1">第1列</div>
    165. <div class="bg-danger border-right text-white">第2列</div>
    166. <div class="bg-danger border-right text-white">第3列</div>
    167. </div>
    168. <!-- 自动的间距 -->
    169. <div class="row mt-5 bg-secondary">
    170. <div class="bg-success text-white py-2 mr-auto">第1列</div>
    171. <div class="bg-success text-white py-2">第2列</div>
    172. <div class="bg-success text-white py-2">第3列</div>
    173. </div>
    174. <div class="row mt-1 bg-secondary">
    175. <div class="bg-success text-white py-2">第1列</div>
    176. <div class="bg-success text-white py-2">第2列</div>
    177. <div class="bg-success text-white py-2 ml-auto">第3列</div>
    178. </div>
    179. flex-column变成竖着排列的
    180. <div class="row mt-1 bg-secondary flex-column" style="height: 220px;">
    181. <div class="bg-success text-white py-2 col-2 mb-auto">第1列</div>
    182. <div class="bg-success text-white py-2 col-2">第2列</div>
    183. <div class="bg-success text-white py-2 col-2">第3列</div>
    184. </div>
    185. <div class="row mt-1 bg-secondary flex-column align-items-end" style="height: 220px;">
    186. <div class="bg-success text-white py-2 col-2">第1列</div>
    187. <div class="bg-success text-white py-2 col-2">第2列</div>
    188. <div class="bg-success text-white py-2 col-2 mt-auto">第3列</div>
    189. </div>
    190. <!-- Wrap --> flex-nowrap 不换行
    191. <div class="row mt-5 bg-secondary flex-wrap-reverse">颠倒的顺序是行 行和行进行颠倒循序
    192. <div class="col-1 bg-primary text-white">第1列</div>
    193. <div class="col-1 bg-primary text-white">第2列</div>
    194. <div class="col-1 bg-primary text-white">第3列</div>
    195. <div class="col-1 bg-primary text-white">第4列</div>
    196. <div class="col-1 bg-primary text-white">第5列</div>
    197. <div class="col-1 bg-primary text-white">第6列</div>
    198. <div class="col-1 bg-primary text-white">第7列</div>
    199. <div class="col-1 bg-primary text-white">第8列</div>
    200. <div class="col-1 bg-primary text-white">第9列</div>
    201. <div class="col-1 bg-primary text-white">第10列</div>
    202. <div class="col-1 bg-primary text-white">第11列</div>
    203. <div class="col-1 bg-primary text-white">第12列</div>
    204. <div class="col-1 bg-primary text-white">第13列</div>
    205. <div class="col-1 bg-primary text-white">第14列</div>
    206. <div class="col-1 bg-primary text-white">第15列</div>
    207. <div class="col-1 bg-primary text-white">第16列</div>
    208. <div class="col-1 bg-primary text-white">第17列</div>
    209. <div class="col-1 bg-primary text-white">第18列</div>
    210. </div>
    211. <!-- Wrap,响应式,flex-{breakpoint}-wrap -->
    212. <div class="row mt-1 bg-secondary flex-xl-wrap-reverse">
    213. <div class="col-1 bg-primary text-white">第1列</div>
    214. <div class="col-1 bg-primary text-white">第2列</div>
    215. <div class="col-1 bg-primary text-white">第3列</div>
    216. <div class="col-1 bg-primary text-white">第4列</div>
    217. <div class="col-1 bg-primary text-white">第5列</div>
    218. <div class="col-1 bg-primary text-white">第6列</div>
    219. <div class="col-1 bg-primary text-white">第7列</div>
    220. <div class="col-1 bg-primary text-white">第8列</div>
    221. <div class="col-1 bg-primary text-white">第9列</div>
    222. <div class="col-1 bg-primary text-white">第10列</div>
    223. <div class="col-1 bg-primary text-white">第11列</div>
    224. <div class="col-1 bg-primary text-white">第12列</div>
    225. <div class="col-1 bg-primary text-white">第13列</div>
    226. <div class="col-1 bg-primary text-white">第14列</div>
    227. <div class="col-1 bg-primary text-white">第15列</div>
    228. <div class="col-1 bg-primary text-white">第16列</div>
    229. <div class="col-1 bg-primary text-white">第17列</div>
    230. <div class="col-1 bg-primary text-white">第18列</div>
    231. </div>
    232. <!-- 排序 -->
    233. <div class="row bg-secondary mt-5">
    234. <div class="col-1 bg-info text-white order-2">第1列</div>
    235. <div class="col-1 bg-info text-white order-6">第2列</div>
    236. <div class="col-1 bg-info text-white order-3">第3列</div>
    237. <div class="col-1 bg-info text-white order-4">第4列</div>
    238. <div class="col-1 bg-info text-white order-1">第5列</div>
    239. <div class="col-1 bg-info text-white order-0">第6列</div>
    240. <div class="col-1 bg-info text-white order-5">第7列</div>
    241. </div>
    242. <!-- 排序,响应式,order-{breakpoint}-10/... -->
    243. <div class="row bg-secondary mt-1">
    244. <div class="col-1 bg-info text-white order-sm-2">第1列</div>
    245. <div class="col-1 bg-info text-white order-sm-6">第2列</div>
    246. <div class="col-1 bg-info text-white order-sm-3">第3列</div>
    247. <div class="col-1 bg-info text-white order-sm-4">第4列</div>
    248. <div class="col-1 bg-info text-white order-sm-1">第5列</div>
    249. <div class="col-1 bg-info text-white order-sm-0">第6列</div>
    250. <div class="col-1 bg-info text-white order-sm-5">第7列</div>
    251. </div>
    252. <!--
    253. 多行对齐,对于单行是没有效果的 依托于行数
    254. align-content-start 顶对齐
    255. align-content-end 底对齐
    256. align-content-center 中间对齐
    257. align-content-between 上下两端对齐
    258. align-content-around 上下分散对齐
    259. align-content-stretch 没有给高度或者高度为auto,那高度会取父级的高度
    260. -->
    261. <div class="row bg-secondary mt-5 align-content-stretch " style="height: 200px;">
    262. <div class="col-1 bg-primary text-white">第1列</div>
    263. <div class="col-1 bg-primary text-white">第2列</div>
    264. <div class="col-1 bg-primary text-white">第3列</div>
    265. <div class="col-1 bg-primary text-white">第4列</div>
    266. <div class="col-1 bg-primary text-white">第5列</div>
    267. <div class="col-1 bg-primary text-white">第6列</div>
    268. <div class="col-1 bg-primary text-white">第7列</div>
    269. <div class="col-1 bg-primary text-white">第8列</div>
    270. <div class="col-1 bg-primary text-white">第9列</div>
    271. <div class="col-1 bg-primary text-white">第10列</div>
    272. <div class="col-1 bg-primary text-white">第11列</div>
    273. <div class="col-1 bg-primary text-white">第12列</div>
    274. <div class="col-1 bg-primary text-white">第13列</div>
    275. <div class="col-1 bg-primary text-white">第14列</div>
    276. <div class="col-1 bg-primary text-white">第15列</div>
    277. <div class="col-1 bg-primary text-white">第16列</div>
    278. <div class="col-1 bg-primary text-white">第17列</div>
    279. <div class="col-1 bg-primary text-white">第18列</div>
    280. </div>
    281. <!-- 多行对齐响应式, align-content-{breakpoint}-end-->
    282. <div class="row bg-secondary mt-5 align-content-md-around" style="height: 200px;">
    283. <div class="col-1 bg-primary text-white">第1列</div>
    284. <div class="col-1 bg-primary text-white">第2列</div>
    285. <div class="col-1 bg-primary text-white">第3列</div>
    286. <div class="col-1 bg-primary text-white">第4列</div>
    287. <div class="col-1 bg-primary text-white">第5列</div>
    288. <div class="col-1 bg-primary text-white">第6列</div>
    289. <div class="col-1 bg-primary text-white">第7列</div>
    290. <div class="col-1 bg-primary text-white">第8列</div>
    291. <div class="col-1 bg-primary text-white">第9列</div>
    292. <div class="col-1 bg-primary text-white">第10列</div>
    293. <div class="col-1 bg-primary text-white">第11列</div>
    294. <div class="col-1 bg-primary text-white">第12列</div>
    295. <div class="col-1 bg-primary text-white">第13列</div>
    296. <div class="col-1 bg-primary text-white">第14列</div>
    297. <div class="col-1 bg-primary text-white">第15列</div>
    298. <div class="col-1 bg-primary text-white">第16列</div>
    299. <div class="col-1 bg-primary text-white">第17列</div>
    300. <div class="col-1 bg-primary text-white">第18列</div>
    301. </div>
    302. </div>