Grid.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440
  1. <!-- eslint-disable -->
  2. <template>
  3. <div class="box">
  4. <h2>Grid</h2>
  5. <div style="margin-top: 50px;padding-left: 15px;text-align: right;">
  6. <a style="text-decoration: none;" href="http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html"
  7. target="_blank">Grid 布局教程</a>
  8. </div>
  9. <div>
  10. <pre>
  11. .container.one{
  12. grid-template-columns:100px 100px 100px;
  13. grid-template-rows: 100px 100px 100px;
  14. }
  15. </pre>
  16. </div>
  17. <div class="container one">
  18. <div>
  19. <p>1</p>
  20. </div>
  21. <div>
  22. <p>2</p>
  23. </div>
  24. <div>
  25. <p>3</p>
  26. </div>
  27. <div>
  28. <p>4</p>
  29. </div>
  30. <div>
  31. <p>5</p>
  32. </div>
  33. <div>
  34. <p>6</p>
  35. </div>
  36. <div>
  37. <p>7</p>
  38. </div>
  39. <div>
  40. <p>8</p>
  41. </div>
  42. <div>
  43. <p>9</p>
  44. </div>
  45. </div>
  46. <div>
  47. <pre>
  48. .container.two{
  49. grid-template-columns: 33.33% 33.33% 33.33%;
  50. grid-template-rows: 33.33% 33.33% 33.33%;
  51. }
  52. </pre>
  53. </div>
  54. <div class="container two">
  55. <div>
  56. <p>1</p>
  57. </div>
  58. <div>
  59. <p>2</p>
  60. </div>
  61. <div>
  62. <p>3</p>
  63. </div>
  64. <div>
  65. <p>4</p>
  66. </div>
  67. <div>
  68. <p>5</p>
  69. </div>
  70. <div>
  71. <p>6</p>
  72. </div>
  73. <div>
  74. <p>7</p>
  75. </div>
  76. <div>
  77. <p>8</p>
  78. </div>
  79. <div>
  80. <p>9</p>
  81. </div>
  82. </div>
  83. <div>
  84. <pre>
  85. .container.three{
  86. grid-template-columns: repeat(3,33.33%);
  87. grid-template-rows: repeat(3,33.33%);
  88. }
  89. </pre>
  90. </div>
  91. <div class="container three">
  92. <div>
  93. <p>1</p>
  94. </div>
  95. <div>
  96. <p>2</p>
  97. </div>
  98. <div>
  99. <p>3</p>
  100. </div>
  101. <div>
  102. <p>4</p>
  103. </div>
  104. <div>
  105. <p>5</p>
  106. </div>
  107. <div>
  108. <p>6</p>
  109. </div>
  110. <div>
  111. <p>7</p>
  112. </div>
  113. <div>
  114. <p>8</p>
  115. </div>
  116. <div>
  117. <p>9</p>
  118. </div>
  119. </div>
  120. <div>
  121. <pre>
  122. .container.four{
  123. grid-template-columns: repeat(auto-fill,100px);
  124. }
  125. </pre>
  126. </div>
  127. <div class="container four">
  128. <div>
  129. <p>1</p>
  130. </div>
  131. <div>
  132. <p>2</p>
  133. </div>
  134. <div>
  135. <p>3</p>
  136. </div>
  137. <div>
  138. <p>4</p>
  139. </div>
  140. <div>
  141. <p>5</p>
  142. </div>
  143. <div>
  144. <p>6</p>
  145. </div>
  146. <div>
  147. <p>7</p>
  148. </div>
  149. <div>
  150. <p>8</p>
  151. </div>
  152. <div>
  153. <p>9</p>
  154. </div>
  155. </div>
  156. <div>
  157. <pre>
  158. .container.five{
  159. grid-template-columns: 1fr 1fr 1fr;
  160. }
  161. </pre>
  162. </div>
  163. <div class="container five">
  164. <div>
  165. <p>1</p>
  166. </div>
  167. <div>
  168. <p>2</p>
  169. </div>
  170. <div>
  171. <p>3</p>
  172. </div>
  173. <div>
  174. <p>4</p>
  175. </div>
  176. <div>
  177. <p>5</p>
  178. </div>
  179. <div>
  180. <p>6</p>
  181. </div>
  182. <div>
  183. <p>7</p>
  184. </div>
  185. <div>
  186. <p>8</p>
  187. </div>
  188. <div>
  189. <p>9</p>
  190. </div>
  191. </div>
  192. <div>
  193. <pre>
  194. .container.six{
  195. grid-template-columns: 150px 1fr 2fr;
  196. }
  197. </pre>
  198. </div>
  199. <div class="container six">
  200. <div>
  201. <p>1</p>
  202. </div>
  203. <div>
  204. <p>2</p>
  205. </div>
  206. <div>
  207. <p>3</p>
  208. </div>
  209. <div>
  210. <p>4</p>
  211. </div>
  212. <div>
  213. <p>5</p>
  214. </div>
  215. <div>
  216. <p>6</p>
  217. </div>
  218. <div>
  219. <p>7</p>
  220. </div>
  221. <div>
  222. <p>8</p>
  223. </div>
  224. <div>
  225. <p>9</p>
  226. </div>
  227. </div>
  228. <div>
  229. <pre>
  230. .container.seven{
  231. grid-template-columns: 1fr 1fr minmax(100px, 1fr);
  232. }
  233. </pre>
  234. </div>
  235. <div class="container seven">
  236. <div>
  237. <p>1</p>
  238. </div>
  239. <div>
  240. <p>2</p>
  241. </div>
  242. <div>
  243. <p>3</p>
  244. </div>
  245. <div>
  246. <p>4</p>
  247. </div>
  248. <div>
  249. <p>5</p>
  250. </div>
  251. <div>
  252. <p>6</p>
  253. </div>
  254. <div>
  255. <p>7</p>
  256. </div>
  257. <div>
  258. <p>8</p>
  259. </div>
  260. <div>
  261. <p>9</p>
  262. </div>
  263. </div>
  264. <div>
  265. <pre>
  266. .container.eight{
  267. grid-template-columns: 100px auto 100px;
  268. }
  269. </pre>
  270. </div>
  271. <div class="container eight">
  272. <div>
  273. <p>1</p>
  274. </div>
  275. <div>
  276. <p>2</p>
  277. </div>
  278. <div>
  279. <p>3</p>
  280. </div>
  281. <div>
  282. <p>4</p>
  283. </div>
  284. <div>
  285. <p>5</p>
  286. </div>
  287. <div>
  288. <p>6</p>
  289. </div>
  290. <div>
  291. <p>7</p>
  292. </div>
  293. <div>
  294. <p>8</p>
  295. </div>
  296. <div>
  297. <p>9</p>
  298. </div>
  299. </div>
  300. <div>
  301. <pre>
  302. /* 指定每根线的名字,每根线的名字可以是多个的 */
  303. .container.nine{
  304. grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4];
  305. grid-template-areas: [r1] 100px [r2] 100px [r3] auto [r4];
  306. }
  307. </pre>
  308. </div>
  309. <div class="container nine">
  310. <div>
  311. <p>1</p>
  312. </div>
  313. <div>
  314. <p>2</p>
  315. </div>
  316. <div>
  317. <p>3</p>
  318. </div>
  319. <div>
  320. <p>4</p>
  321. </div>
  322. <div>
  323. <p>5</p>
  324. </div>
  325. <div>
  326. <p>6</p>
  327. </div>
  328. <div>
  329. <p>7</p>
  330. </div>
  331. <div>
  332. <p>8</p>
  333. </div>
  334. <div>
  335. <p>9</p>
  336. </div>
  337. </div>
  338. <div>
  339. <pre>
  340. .container.ten-1{
  341. grid-template-columns: 70% 30%;
  342. }
  343. .container.ten-2{
  344. grid-template-columns: repeat(12,1fr);
  345. }
  346. </pre>
  347. </div>
  348. <div class="container ten-1">
  349. <div>
  350. <p>1</p>
  351. </div>
  352. <div>
  353. <p>2</p>
  354. </div>
  355. <div>
  356. <p>3</p>
  357. </div>
  358. <div>
  359. <p>4</p>
  360. </div>
  361. <div>
  362. <p>5</p>
  363. </div>
  364. <div>
  365. <p>6</p>
  366. </div>
  367. <div>
  368. <p>7</p>
  369. </div>
  370. <div>
  371. <p>8</p>
  372. </div>
  373. <div>
  374. <p>9</p>
  375. </div>
  376. <div>
  377. <p>10</p>
  378. </div>
  379. </div>
  380. <div class="container ten-2">
  381. <div>
  382. <p>1</p>
  383. </div>
  384. <div>
  385. <p>2</p>
  386. </div>
  387. <div>
  388. <p>3</p>
  389. </div>
  390. <div>
  391. <p>4</p>
  392. </div>
  393. <div>
  394. <p>5</p>
  395. </div>
  396. <div>
  397. <p>6</p>
  398. </div>
  399. <div>
  400. <p>7</p>
  401. </div>
  402. <div>
  403. <p>8</p>
  404. </div>
  405. <div>
  406. <p>9</p>
  407. </div>
  408. <div>
  409. <p>10</p>
  410. </div>
  411. <div>
  412. <p>11</p>
  413. </div>
  414. <div>
  415. <p>12</p>
  416. </div>
  417. </div>
  418. <div>
  419. <pre>
  420. /* 设置间距 */
  421. grid-row-gap:20px;
  422. grid-column-gap: 20px;
  423. /* 简写 */
  424. grid-gap:&lt;grid-row-gap&gt; &lt;grid-column-gap&gt;;
  425. /* 最新标准 */
  426. grid-row-gap =&gt; row-gap
  427. grid-column-gap =&gt; column-gap
  428. grid-gap =&gt; gap
  429. </pre>
  430. </div>
  431. <div class="container eleven">
  432. <div>
  433. <p>1</p>
  434. </div>
  435. <div>
  436. <p>2</p>
  437. </div>
  438. <div>
  439. <p>3</p>
  440. </div>
  441. <div>
  442. <p>4</p>
  443. </div>
  444. <div>
  445. <p>5</p>
  446. </div>
  447. <div>
  448. <p>6</p>
  449. </div>
  450. <div>
  451. <p>7</p>
  452. </div>
  453. <div>
  454. <p>8</p>
  455. </div>
  456. <div>
  457. <p>9</p>
  458. </div>
  459. </div>
  460. <div>
  461. <pre>
  462. grid-template-areas属性用于定义区域。
  463. grid-template-areas: 'a . c'
  464. 'd . f'
  465. 'g . i';
  466. /* 先列后行 */
  467. grid-auto-flow: column;
  468. /* 先行后列 */
  469. grid-auto-flow: row;/* 默认值 */
  470. </pre>
  471. </div>
  472. <div class="container twelve twelve-1">
  473. <div>
  474. <p>1</p>
  475. </div>
  476. <div>
  477. <p>2</p>
  478. </div>
  479. <div>
  480. <p>3</p>
  481. </div>
  482. <div>
  483. <p>4</p>
  484. </div>
  485. <div>
  486. <p>5</p>
  487. </div>
  488. <div>
  489. <p>6</p>
  490. </div>
  491. <div>
  492. <p>7</p>
  493. </div>
  494. <div>
  495. <p>8</p>
  496. </div>
  497. <div>
  498. <p>9</p>
  499. </div>
  500. </div>
  501. <div>
  502. <pre>
  503. grid-column-start:1;
  504. grid-column-end:3;
  505. </pre>
  506. </div>
  507. <div class="container twelve style twelve-2">
  508. <div>
  509. <p>1</p>
  510. </div>
  511. <div>
  512. <p>2</p>
  513. </div>
  514. <div>
  515. <p>3</p>
  516. </div>
  517. <div>
  518. <p>4</p>
  519. </div>
  520. <div>
  521. <p>5</p>
  522. </div>
  523. <div>
  524. <p>6</p>
  525. </div>
  526. <div>
  527. <p>7</p>
  528. </div>
  529. <div>
  530. <p>8</p>
  531. </div>
  532. <div>
  533. <p>9</p>
  534. </div>
  535. </div>
  536. <div>
  537. <pre>
  538. grid-auto-flow: row dense;
  539. </pre>
  540. </div>
  541. <div class="container twelve style twelve-3">
  542. <div>
  543. <p>1</p>
  544. </div>
  545. <div>
  546. <p>2</p>
  547. </div>
  548. <div>
  549. <p>3</p>
  550. </div>
  551. <div>
  552. <p>4</p>
  553. </div>
  554. <div>
  555. <p>5</p>
  556. </div>
  557. <div>
  558. <p>6</p>
  559. </div>
  560. <div>
  561. <p>7</p>
  562. </div>
  563. <div>
  564. <p>8</p>
  565. </div>
  566. <div>
  567. <p>9</p>
  568. </div>
  569. </div>
  570. <div>
  571. <pre>
  572. grid-auto-flow: column dense;
  573. </pre>
  574. </div>
  575. <div class="container twelve style twelve-4">
  576. <div>
  577. <p>1</p>
  578. </div>
  579. <div>
  580. <p>2</p>
  581. </div>
  582. <div>
  583. <p>3</p>
  584. </div>
  585. <div>
  586. <p>4</p>
  587. </div>
  588. <div>
  589. <p>5</p>
  590. </div>
  591. <div>
  592. <p>6</p>
  593. </div>
  594. <div>
  595. <p>7</p>
  596. </div>
  597. <div>
  598. <p>8</p>
  599. </div>
  600. <div>
  601. <p>9</p>
  602. </div>
  603. </div>
  604. <div>
  605. <pre>
  606. .container {
  607. justify-items: start | end | center | stretch;
  608. align-items: start | end | center | stretch;
  609. }
  610. start:对齐单元格的起始边缘。
  611. end:对齐单元格的结束边缘。
  612. center:单元格内部居中。
  613. stretch:拉伸,占满单元格的整个宽度(默认值)。
  614. </pre>
  615. </div>
  616. <div class="container thirteen">
  617. <div>
  618. <p>1</p>
  619. </div>
  620. <div>
  621. <p>2</p>
  622. </div>
  623. <div>
  624. <p>3</p>
  625. </div>
  626. <div>
  627. <p>4</p>
  628. </div>
  629. <div>
  630. <p>5</p>
  631. </div>
  632. <div>
  633. <p>6</p>
  634. </div>
  635. <div>
  636. <p>7</p>
  637. </div>
  638. <div>
  639. <p>8</p>
  640. </div>
  641. <div>
  642. <p>9</p>
  643. </div>
  644. </div>
  645. <div>
  646. <pre>
  647. align-items: start;
  648. </pre>
  649. </div>
  650. <div class="container thirteen-1">
  651. <div>
  652. <p>1</p>
  653. </div>
  654. <div>
  655. <p>2</p>
  656. </div>
  657. <div>
  658. <p>3</p>
  659. </div>
  660. <div>
  661. <p>4</p>
  662. </div>
  663. <div>
  664. <p>5</p>
  665. </div>
  666. <div>
  667. <p>6</p>
  668. </div>
  669. <div>
  670. <p>7</p>
  671. </div>
  672. <div>
  673. <p>8</p>
  674. </div>
  675. <div>
  676. <p>9</p>
  677. </div>
  678. </div>
  679. <div>
  680. <pre>
  681. /* 简写 */
  682. place-items: &lt;align-items&gt;&nbsp;&lt;justify-items&gt;
  683. place-items: start end;
  684. </pre>
  685. </div>
  686. <div class="container thirteen-2">
  687. <div>
  688. <p>1</p>
  689. </div>
  690. <div>
  691. <p>2</p>
  692. </div>
  693. <div>
  694. <p>3</p>
  695. </div>
  696. <div>
  697. <p>4</p>
  698. </div>
  699. <div>
  700. <p>5</p>
  701. </div>
  702. <div>
  703. <p>6</p>
  704. </div>
  705. <div>
  706. <p>7</p>
  707. </div>
  708. <div>
  709. <p>8</p>
  710. </div>
  711. <div>
  712. <p>9</p>
  713. </div>
  714. </div>
  715. <div>
  716. <pre>
  717. justify-content属性是整个内容区域在容器里面的水平位置(左中右),
  718. align-content属性是整个内容区域的垂直位置(上中下)。
  719. .container {
  720. justify-content: start | end | center | stretch | space-around | space-between | space-evenly;
  721. align-content: start | end | center | stretch | space-around | space-between | space-evenly;
  722. }
  723. </pre>
  724. </div>
  725. <pre>start - 对齐容器的起始边框。
  726. </pre>
  727. <div class="container fourteen fourteen-1">
  728. <div>
  729. <p>1</p>
  730. </div>
  731. <div>
  732. <p>2</p>
  733. </div>
  734. <div>
  735. <p>3</p>
  736. </div>
  737. <div>
  738. <p>4</p>
  739. </div>
  740. <div>
  741. <p>5</p>
  742. </div>
  743. <div>
  744. <p>6</p>
  745. </div>
  746. <div>
  747. <p>7</p>
  748. </div>
  749. <div>
  750. <p>8</p>
  751. </div>
  752. <div>
  753. <p>9</p>
  754. </div>
  755. </div>
  756. <pre> end - 对齐容器的结束边框。</pre>
  757. <div class="container fourteen fourteen-2">
  758. <div>
  759. <p>1</p>
  760. </div>
  761. <div>
  762. <p>2</p>
  763. </div>
  764. <div>
  765. <p>3</p>
  766. </div>
  767. <div>
  768. <p>4</p>
  769. </div>
  770. <div>
  771. <p>5</p>
  772. </div>
  773. <div>
  774. <p>6</p>
  775. </div>
  776. <div>
  777. <p>7</p>
  778. </div>
  779. <div>
  780. <p>8</p>
  781. </div>
  782. <div>
  783. <p>9</p>
  784. </div>
  785. </div>
  786. <pre> center - 容器内部居中。</pre>
  787. <div class="container fourteen fourteen-3">
  788. <div>
  789. <p>1</p>
  790. </div>
  791. <div>
  792. <p>2</p>
  793. </div>
  794. <div>
  795. <p>3</p>
  796. </div>
  797. <div>
  798. <p>4</p>
  799. </div>
  800. <div>
  801. <p>5</p>
  802. </div>
  803. <div>
  804. <p>6</p>
  805. </div>
  806. <div>
  807. <p>7</p>
  808. </div>
  809. <div>
  810. <p>8</p>
  811. </div>
  812. <div>
  813. <p>9</p>
  814. </div>
  815. </div>
  816. <pre>stretch - 项目大小没有指定时,拉伸占据整个网格容器。</pre>
  817. <div class="container fourteen fourteen-4">
  818. <div>
  819. <p>1</p>
  820. </div>
  821. <div>
  822. <p>2</p>
  823. </div>
  824. <div>
  825. <p>3</p>
  826. </div>
  827. <div>
  828. <p>4</p>
  829. </div>
  830. <div>
  831. <p>5</p>
  832. </div>
  833. <div>
  834. <p>6</p>
  835. </div>
  836. <div>
  837. <p>7</p>
  838. </div>
  839. <div>
  840. <p>8</p>
  841. </div>
  842. <div>
  843. <p>9</p>
  844. </div>
  845. </div>
  846. <pre>space-around - 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与容器边框的间隔大一倍。</pre>
  847. <div class="container fourteen fourteen-5">
  848. <div>
  849. <p>1</p>
  850. </div>
  851. <div>
  852. <p>2</p>
  853. </div>
  854. <div>
  855. <p>3</p>
  856. </div>
  857. <div>
  858. <p>4</p>
  859. </div>
  860. <div>
  861. <p>5</p>
  862. </div>
  863. <div>
  864. <p>6</p>
  865. </div>
  866. <div>
  867. <p>7</p>
  868. </div>
  869. <div>
  870. <p>8</p>
  871. </div>
  872. <div>
  873. <p>9</p>
  874. </div>
  875. </div>
  876. <pre>space-between - 项目与项目的间隔相等,项目与容器边框之间没有间隔。</pre>
  877. <div class="container fourteen fourteen-6">
  878. <div>
  879. <p>1</p>
  880. </div>
  881. <div>
  882. <p>2</p>
  883. </div>
  884. <div>
  885. <p>3</p>
  886. </div>
  887. <div>
  888. <p>4</p>
  889. </div>
  890. <div>
  891. <p>5</p>
  892. </div>
  893. <div>
  894. <p>6</p>
  895. </div>
  896. <div>
  897. <p>7</p>
  898. </div>
  899. <div>
  900. <p>8</p>
  901. </div>
  902. <div>
  903. <p>9</p>
  904. </div>
  905. </div>
  906. <pre>space-evenly - 项目与项目的间隔相等,项目与容器边框之间也是同样长度的间隔。</pre>
  907. <div class="container fourteen fourteen-7">
  908. <div>
  909. <p>1</p>
  910. </div>
  911. <div>
  912. <p>2</p>
  913. </div>
  914. <div>
  915. <p>3</p>
  916. </div>
  917. <div>
  918. <p>4</p>
  919. </div>
  920. <div>
  921. <p>5</p>
  922. </div>
  923. <div>
  924. <p>6</p>
  925. </div>
  926. <div>
  927. <p>7</p>
  928. </div>
  929. <div>
  930. <p>8</p>
  931. </div>
  932. <div>
  933. <p>9</p>
  934. </div>
  935. </div>
  936. <pre>
  937. /* 简写 */
  938. place-content: &lt;align-content&gt; &lt;justify-content&gt;
  939. </pre>
  940. <div class="container fourteen fourteen-7">
  941. <div>
  942. <p>1</p>
  943. </div>
  944. <div>
  945. <p>2</p>
  946. </div>
  947. <div>
  948. <p>3</p>
  949. </div>
  950. <div>
  951. <p>4</p>
  952. </div>
  953. <div>
  954. <p>5</p>
  955. </div>
  956. <div>
  957. <p>6</p>
  958. </div>
  959. <div>
  960. <p>7</p>
  961. </div>
  962. <div>
  963. <p>8</p>
  964. </div>
  965. <div>
  966. <p>9</p>
  967. </div>
  968. </div>
  969. <pre>
  970. 3.8
  971. grid-auto-columns 属性,
  972. grid-auto-rows 属性
  973. </pre>
  974. <div class="container fifteen">
  975. <div>
  976. <p>1</p>
  977. </div>
  978. <div>
  979. <p>2</p>
  980. </div>
  981. <div>
  982. <p>3</p>
  983. </div>
  984. <div>
  985. <p>4</p>
  986. </div>
  987. <div>
  988. <p>5</p>
  989. </div>
  990. <div>
  991. <p>6</p>
  992. </div>
  993. <div>
  994. <p>7</p>
  995. </div>
  996. <div>
  997. <p>8</p>
  998. </div>
  999. <div>
  1000. <p>9</p>
  1001. </div>
  1002. </div>
  1003. <pre>
  1004. 3.9(不推荐使用下面这2个简写)
  1005. grid-template 属性
  1006. grid-template属性是grid-template-columns、grid-template-rows和grid-template-areas这三个属性的合并简写形式
  1007. grid 属性
  1008. grid属性是grid-template-rows、grid-template-columns、grid-template-areas、 grid-auto-rows、grid-auto-columns、grid-auto-flow这六个属性的合并简写形式。
  1009. </pre>
  1010. <pre>
  1011. 4.1
  1012. grid-column-start 属性,
  1013. 左边框所在的垂直网格线
  1014. grid-column-end 属性,
  1015. 右边框所在的垂直网格线
  1016. grid-row-start 属性,
  1017. 上边框所在的水平网格线
  1018. grid-row-end 属性
  1019. 下边框所在的水平网格线
  1020. </pre>
  1021. <pre>
  1022. /*
  1023. 这段代码指定,1号项目的左边框是第二根垂直网格线,右边框是第四根垂直网格线。
  1024. */
  1025. .item-1 {
  1026. grid-column-start: 2;
  1027. grid-column-end: 4;
  1028. }
  1029. </pre>
  1030. <div class="container sixteen sixteen-1">
  1031. <div>
  1032. <p>1</p>
  1033. </div>
  1034. <div>
  1035. <p>2</p>
  1036. </div>
  1037. <div>
  1038. <p>3</p>
  1039. </div>
  1040. <div>
  1041. <p>4</p>
  1042. </div>
  1043. <div>
  1044. <p>5</p>
  1045. </div>
  1046. <div>
  1047. <p>6</p>
  1048. </div>
  1049. <div>
  1050. <p>7</p>
  1051. </div>
  1052. <div>
  1053. <p>8</p>
  1054. </div>
  1055. <div>
  1056. <p>9</p>
  1057. </div>
  1058. </div>
  1059. <pre>
  1060. /*
  1061. 指定四个边框位置
  1062. */
  1063. .item-1 {
  1064. grid-column-start: 1;
  1065. grid-column-end: 3;
  1066. grid-row-start: 2;
  1067. grid-row-end: 4;
  1068. }
  1069. </pre>
  1070. <div class="container sixteen sixteen-2">
  1071. <div>
  1072. <p>1</p>
  1073. </div>
  1074. <div>
  1075. <p>2</p>
  1076. </div>
  1077. <div>
  1078. <p>3</p>
  1079. </div>
  1080. <div>
  1081. <p>4</p>
  1082. </div>
  1083. <div>
  1084. <p>5</p>
  1085. </div>
  1086. <div>
  1087. <p>6</p>
  1088. </div>
  1089. <div>
  1090. <p>7</p>
  1091. </div>
  1092. <div>
  1093. <p>8</p>
  1094. </div>
  1095. <div>
  1096. <p>9</p>
  1097. </div>
  1098. </div>
  1099. <pre>
  1100. /*
  1101. 指定为网格线的名字
  1102. */
  1103. .item-1 {
  1104. grid-column-start: header-start;
  1105. grid-column-end: header-end;
  1106. }
  1107. </pre>
  1108. <div class="container sixteen sixteen-3">
  1109. <div>
  1110. <p>1</p>
  1111. </div>
  1112. <div>
  1113. <p>2</p>
  1114. </div>
  1115. <div>
  1116. <p>3</p>
  1117. </div>
  1118. <div>
  1119. <p>4</p>
  1120. </div>
  1121. <div>
  1122. <p>5</p>
  1123. </div>
  1124. <div>
  1125. <p>6</p>
  1126. </div>
  1127. <div>
  1128. <p>7</p>
  1129. </div>
  1130. <div>
  1131. <p>8</p>
  1132. </div>
  1133. <div>
  1134. <p>9</p>
  1135. </div>
  1136. </div>
  1137. <pre>
  1138. /*
  1139. 使用 span 关键字,表示 '跨越' 即左右边框(上下边框)之间跨越多少个网格
  1140. */
  1141. .item-1 {
  1142. grid-column-start: span 2;
  1143. }
  1144. </pre>
  1145. <div class="container sixteen sixteen-4">
  1146. <div>
  1147. <p>1</p>
  1148. </div>
  1149. <div>
  1150. <p>2</p>
  1151. </div>
  1152. <div>
  1153. <p>3</p>
  1154. </div>
  1155. <div>
  1156. <p>4</p>
  1157. </div>
  1158. <div>
  1159. <p>5</p>
  1160. </div>
  1161. <div>
  1162. <p>6</p>
  1163. </div>
  1164. <div>
  1165. <p>7</p>
  1166. </div>
  1167. <div>
  1168. <p>8</p>
  1169. </div>
  1170. <div>
  1171. <p>9</p>
  1172. </div>
  1173. </div>
  1174. <pre>
  1175. /*
  1176. 属性简写:
  1177. grid-column:grid-column-start / grid-column-end;
  1178. grid-row:grid-row-start / grid-row-end;
  1179. */
  1180. .item-1 {
  1181. grid-column: / ;
  1182. grid-row: / ;
  1183. }
  1184. 例子:
  1185. .item-1 {
  1186. grid-column: 1 / 3;
  1187. grid-row: 1 / 2;
  1188. }
  1189. /* 等同于 */
  1190. .item-1 {
  1191. grid-column-start: 1;
  1192. grid-column-end: 3;
  1193. grid-row-start: 1;
  1194. grid-row-end: 2;
  1195. }
  1196. 上面 item-1占据第一行,从第一根列线到第三根列线。
  1197. </pre>
  1198. <div class="container sixteen sixteen-5">
  1199. <div>
  1200. <p>1</p>
  1201. </div>
  1202. <div>
  1203. <p>2</p>
  1204. </div>
  1205. <div>
  1206. <p>3</p>
  1207. </div>
  1208. <div>
  1209. <p>4</p>
  1210. </div>
  1211. <div>
  1212. <p>5</p>
  1213. </div>
  1214. <div>
  1215. <p>6</p>
  1216. </div>
  1217. <div>
  1218. <p>7</p>
  1219. </div>
  1220. <div>
  1221. <p>8</p>
  1222. </div>
  1223. <div>
  1224. <p>9</p>
  1225. </div>
  1226. </div>
  1227. <pre>
  1228. /*
  1229. 用span关键字
  1230. */
  1231. .item-1 {
  1232. grid-column: 1 / 3;
  1233. grid-row: 1 / 3;
  1234. }
  1235. /* 等同于 */
  1236. .item-1 {
  1237. grid-column: 1 / span 2;
  1238. grid-row: 1 / span 2;
  1239. }
  1240. </pre>
  1241. <div class="container sixteen sixteen-6">
  1242. <div>
  1243. <p>1</p>
  1244. </div>
  1245. <div>
  1246. <p>2</p>
  1247. </div>
  1248. <div>
  1249. <p>3</p>
  1250. </div>
  1251. <div>
  1252. <p>4</p>
  1253. </div>
  1254. <div>
  1255. <p>5</p>
  1256. </div>
  1257. <div>
  1258. <p>6</p>
  1259. </div>
  1260. <div>
  1261. <p>7</p>
  1262. </div>
  1263. <div>
  1264. <p>8</p>
  1265. </div>
  1266. <div>
  1267. <p>9</p>
  1268. </div>
  1269. </div>
  1270. <pre>
  1271. /*
  1272. .item-1 {
  1273. grid-column: 2;
  1274. grid-row: 2;
  1275. }
  1276. */
  1277. </pre>
  1278. <div class="container sixteen sixteen-7">
  1279. <div>
  1280. <p>1</p>
  1281. </div>
  1282. <div>
  1283. <p>2</p>
  1284. </div>
  1285. <div>
  1286. <p>3</p>
  1287. </div>
  1288. <div>
  1289. <p>4</p>
  1290. </div>
  1291. <div>
  1292. <p>5</p>
  1293. </div>
  1294. <div>
  1295. <p>6</p>
  1296. </div>
  1297. <div>
  1298. <p>7</p>
  1299. </div>
  1300. <div>
  1301. <p>8</p>
  1302. </div>
  1303. <div>
  1304. <p>9</p>
  1305. </div>
  1306. </div>
  1307. <pre>
  1308. /* grid-area */
  1309. </pre>
  1310. <p>grid-area属性还可用作grid-row-start、grid-column-start、grid-row-end、grid-column-end的合并简写形式,直接指定项目的位置。</p>
  1311. <pre>
  1312. .item {
  1313. grid-area: &lt;row-start> / &lt;column-start> / &lt;row-end> / &lt;column-end>;
  1314. }
  1315. </pre>
  1316. <div class="container seventeen seventeen-1">
  1317. <div>
  1318. <p>1</p>
  1319. </div>
  1320. <div>
  1321. <p>2</p>
  1322. </div>
  1323. <div>
  1324. <p>3</p>
  1325. </div>
  1326. <div>
  1327. <p>4</p>
  1328. </div>
  1329. <div>
  1330. <p>5</p>
  1331. </div>
  1332. <div>
  1333. <p>6</p>
  1334. </div>
  1335. <div>
  1336. <p>7</p>
  1337. </div>
  1338. <div>
  1339. <p>8</p>
  1340. </div>
  1341. <div>
  1342. <p>9</p>
  1343. </div>
  1344. </div>
  1345. <pre>
  1346. /* 例子 */
  1347. .item-1 {
  1348. grid-area: 1 / 1 / 3 / 3;
  1349. }
  1350. </pre>
  1351. <div class="container seventeen seventeen-2">
  1352. <div>
  1353. <p>1</p>
  1354. </div>
  1355. <div>
  1356. <p>2</p>
  1357. </div>
  1358. <div>
  1359. <p>3</p>
  1360. </div>
  1361. <div>
  1362. <p>4</p>
  1363. </div>
  1364. <div>
  1365. <p>5</p>
  1366. </div>
  1367. <div>
  1368. <p>6</p>
  1369. </div>
  1370. <div>
  1371. <p>7</p>
  1372. </div>
  1373. <div>
  1374. <p>8</p>
  1375. </div>
  1376. <div>
  1377. <p>9</p>
  1378. </div>
  1379. </div>
  1380. <pre>
  1381. 4.4
  1382. justify-self 属性,
  1383. 设置单元格内容的水平位置(左中右),跟justify-items属性的用法完全一致,但只作用于单个项目。
  1384. align-self 属性,
  1385. 属性设置单元格内容的垂直位置(上中下),跟align-items属性的用法完全一致,也是只作用于单个项目。
  1386. start:对齐单元格的起始边缘。
  1387. end:对齐单元格的结束边缘。
  1388. center:单元格内部居中。
  1389. stretch:拉伸,占满单元格的整个宽度(默认值)。
  1390. .item {
  1391. justify-self: start | end | center | stretch;
  1392. align-self: start | end | center | stretch;
  1393. }
  1394. place-self 属性
  1395. 属性是align-self属性和justify-self属性的合并简写形式
  1396. place-self: &lt;align-self> &lt;justify-self>;
  1397. .item {
  1398. place-self: center center;
  1399. }
  1400. </pre>
  1401. </div>
  1402. </template>
  1403. <style lang="less">
  1404. @import "grid.less";
  1405. </style>