Browse Source

first commit

honghaitzz11 6 years ago
parent
commit
ae3700d50e
9 changed files with 1332 additions and 15 deletions
  1. 1262 0
      1-index.html
  2. 0 0
      grid.css
  3. 2 1
      package.json
  4. 15 14
      src/App.vue
  5. 2 0
      src/main.js
  6. 23 0
      src/router.js
  7. 5 0
      src/views/About.vue
  8. 18 0
      src/views/Home.vue
  9. 5 0
      yarn.lock

+ 1262 - 0
1-index.html

@@ -0,0 +1,1262 @@
+<!DOCTYPE html>
+<html lang="en">
+
+<head>
+  <meta charset="UTF-8">
+  <title>Grid</title>
+  <style>
+    body {
+      padding: 0;
+      margin: 0;
+    }
+
+    h2 {
+      text-align: center;
+      font-size: 60px;
+      margin-bottom: -45px;
+    }
+
+    .container {
+      display: grid;
+      margin-bottom: 15px;
+    }
+
+    .container p {
+      text-align: center;
+      font-size: 30px;
+    }
+
+    .container div:nth-child(odd) {
+      background-color: #da51c7
+    }
+
+    .container div:nth-child(even) {
+      background-color: #43c0c3;
+    }
+
+    pre {
+      border-top: 4px solid #af2323;
+      padding: 10px 10px 20px;
+      margin: 60px auto 20px;
+      width: 90%;
+      overflow-x: scroll;
+      border: 1px solid black;
+      border-radius: 5px;
+    }
+
+    .container.one {
+      grid-template-columns: 100px 100px 100px;
+      grid-template-rows: 100px 100px 100px;
+    }
+
+    .container.two {
+      grid-template-columns: 33.33% 33.33% 33.33%;
+      grid-template-rows: 33.33% 33.33% 33.33%;
+    }
+
+    .container.three {
+      grid-template-columns: repeat(3, 33.33%);
+      grid-template-rows: repeat(3, 33.33%);
+    }
+
+    .container.four {
+      grid-template-columns: repeat(auto-fill, 100px);
+    }
+
+    .container.five {
+      grid-template-columns: 1fr 1fr 1fr;
+    }
+
+    .container.six {
+      grid-template-columns: 150px 1fr 2fr;
+    }
+
+    .container.seven {
+      grid-template-columns: 1fr 1fr minmax(100px, 1fr);
+    }
+
+    .container.eight {
+      grid-template-columns: 100px auto 100px;
+    }
+
+    .container.nine {
+      grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4];
+      grid-template-areas: [r1] 100px [r2] 100px [r3] auto [r4];
+    }
+
+    .container.ten-1 {
+      grid-template-columns: 70% 30%;
+    }
+
+    .container.ten-2 {
+      grid-template-columns: repeat(12, 1fr);
+    }
+
+    .container.eleven {
+      grid-template-columns: repeat(3, 1fr);
+      grid-template-rows: repeat(3, 1fr);
+      grid-row-gap: 5px;
+      grid-column-gap: 5px;
+    }
+
+    .container.twelve {
+      /*grid-template-columns: repeat(3,1fr);*/
+      /*grid-template-rows: repeat(3,1fr);*/
+      /*grid-template-areas: 'a b c'
+								 'd e f'
+								 'g h i';*/
+      /*grid-template-areas: 'a a a'
+								 'b b b' 
+								 'c c c';*/
+      /*grid-template-areas: "header header header"
+                    			 "main main sidebar"
+                          "footer footer footer";*/
+      grid-template-areas: 'a . c'
+        'd . f'
+        'g . i';
+
+    }
+
+    .container.twelve-1 {
+      grid-auto-flow: column;
+    }
+
+    .container.style>div {
+      border: 1px solid #e5e4e9;
+    }
+
+    .container.style>div:nth-child(1) {
+      grid-column-start: 1;
+      grid-column-end: 3;
+    }
+
+    .container.style>div:nth-child(2) {
+      grid-column-start: 1;
+      grid-column-end: 3;
+    }
+
+    .container.twelve-3 {
+      grid-auto-flow: row dense;
+    }
+
+    .container.twelve-4 {
+      grid-auto-flow: column dense;
+    }
+
+    .container.thirteen {
+      grid-template-columns: 100px 100px 100px;
+      grid-template-rows: 100px 100px 100px;
+      justify-items: start;
+    }
+
+    .container.thirteen-1 {
+      grid-template-columns: 100px 100px 100px;
+      grid-template-rows: 100px 100px 100px;
+      align-items: start;
+    }
+
+    .container.thirteen-1 p {
+      /* font-size: 13px; */
+      font-size: initial;
+    }
+
+    .container.thirteen-2 {
+      grid-template-columns: 100px 100px 100px;
+      grid-template-rows: 100px 100px 100px;
+      place-items: start end;
+    }
+
+    .container.thirteen-2 p {
+      font-size: initial;
+    }
+
+    .container.fourteen {
+      grid-template-columns: 100px 100px 100px;
+      grid-template-rows: 100px 100px 100px;
+    }
+
+    .container.fourteen-1 {
+      justify-content: start;
+    }
+
+    .container.fourteen-2 {
+      justify-content: end;
+    }
+
+    .container.fourteen-3 {
+      justify-content: center;
+    }
+
+    .container.fourteen-4 {
+      grid-template-columns: repeat(3, 1fr);
+      grid-template-rows: repeat(3, 1fr);
+      justify-content: stretch;
+    }
+
+    .container.fourteen-5 {
+      justify-content: space-around;
+    }
+    .container.fourteen-6 {
+      justify-content: space-between;
+    }
+    .container.fourteen-7 {
+      place-content: space-around space-evenly;
+    }
+  </style>
+</head>
+
+<body>
+  <h2>Grid</h2>
+  <div style="margin-top: 50px;padding-left: 15px;">
+    <a style="text-decoration: none;" href="http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html"
+      target="_blank">Grid 布局教程</a>
+  </div>
+  <div>
+    <pre>
+  .container.one{
+    grid-template-columns:100px 100px 100px; 
+    grid-template-rows: 100px 100px 100px;
+  }
+</pre>
+  </div>
+  <div class="container one">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  .container.two{
+   grid-template-columns: 33.33% 33.33% 33.33%;
+   grid-template-rows: 33.33% 33.33% 33.33%;
+  }           
+</pre>
+  </div>
+  <div class="container two">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  .container.three{
+    grid-template-columns: repeat(3,33.33%);
+    grid-template-rows: repeat(3,33.33%);
+  }
+</pre>
+  </div>
+  <div class="container three">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  .container.four{
+    grid-template-columns: repeat(auto-fill,100px);
+  }
+</pre>
+  </div>
+  <div class="container four">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  .container.five{
+    grid-template-columns: 1fr 1fr 1fr;
+  }
+ </pre>
+  </div>
+  <div class="container five">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  </div>
+  <div>
+    <pre>
+  .container.six{
+    grid-template-columns: 150px 1fr 2fr;
+  }
+</pre>
+  </div>
+  <div class="container six">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  </div>
+  <div>
+    <pre>
+  .container.seven{
+   grid-template-columns: 1fr 1fr minmax(100px, 1fr);
+ }
+</pre>
+  </div>
+  <div class="container seven">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  .container.eight{
+   grid-template-columns: 100px auto 100px;
+ }
+</pre>
+  </div>
+  <div class="container eight">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  /* 指定每根线的名字,每根线的名字可以是多个的 */
+  .container.nine{
+    grid-template-columns: [c1] 100px [c2] 100px [c3] auto [c4];
+    grid-template-areas: [r1] 100px [r2] 100px [r3] auto [r4];
+  }
+</pre>
+  </div>
+  <div class="container nine">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+  .container.ten-1{
+    grid-template-columns: 70% 30%;
+  }
+  .container.ten-2{
+  grid-template-columns: repeat(12,1fr);
+}
+</pre>
+  </div>
+  <div class="container ten-1">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+    <div>
+      <p>10</p>
+    </div>
+
+  </div>
+  <div class="container ten-2">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+    <div>
+      <p>10</p>
+    </div>
+    <div>
+      <p>11</p>
+    </div>
+    <div>
+      <p>12</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+    /* 设置间距 */
+    grid-row-gap:20px;
+    grid-column-gap: 20px;
+    /* 简写 */
+    grid-gap:&lt;grid-row-gap&gt;   &lt;grid-column-gap&gt;;
+    /* 最新标准 */
+    grid-row-gap =&gt; row-gap
+    grid-column-gap =&gt; column-gap
+    grid-gap =&gt; gap
+  </pre>
+  </div>
+  <div class="container eleven">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+  <div>
+    <pre>
+    grid-template-areas属性用于定义区域。
+    grid-template-areas: 'a . c'
+    'd . f' 
+    'g . i';
+    /* 先列后行 */
+    grid-auto-flow: column;
+    /* 先行后列 */
+    grid-auto-flow: row;/* 默认值 */
+  </pre>
+  </div>
+  <div class="container twelve twelve-1">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <div>
+    <pre>
+    grid-column-start:1;
+    grid-column-end:3;  
+  </pre>
+  </div>
+  <div class="container twelve style twelve-2">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <div>
+    <pre>
+    grid-auto-flow: row dense;
+  </pre>
+  </div>
+  <div class="container twelve style twelve-3">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <div>
+    <pre>
+    grid-auto-flow: column dense;
+  </pre>
+  </div>
+  <div class="container twelve style twelve-4">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <div>
+    <pre>
+  .container {
+    justify-items: start | end | center | stretch;
+    align-items: start | end | center | stretch;
+  }
+  start:对齐单元格的起始边缘。
+  end:对齐单元格的结束边缘。
+  center:单元格内部居中。
+  stretch:拉伸,占满单元格的整个宽度(默认值)。
+</pre>
+  </div>
+  <div class="container thirteen">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <div>
+    <pre>
+  align-items: start;
+</pre>
+  </div>
+  <div class="container thirteen-1">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+
+  <div>
+    <pre>
+  /* 简写 */
+  place-items: &lt;align-items&gt;&nbsp;&lt;justify-items&gt;
+  place-items: start end;
+</pre>
+  </div>
+  <div class="container thirteen-2">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <div>
+    <pre>
+  justify-content属性是整个内容区域在容器里面的水平位置(左中右),
+  align-content属性是整个内容区域的垂直位置(上中下)。
+  .container {
+    justify-content: start | end | center | stretch | space-around | space-between | space-evenly;
+    align-content: start | end | center | stretch | space-around | space-between | space-evenly;  
+  }
+</pre>
+  </div>
+  <pre>start - 对齐容器的起始边框。
+  </pre>
+  <div class="container fourteen fourteen-1">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre> end - 对齐容器的结束边框。</pre>
+  <div class="container fourteen fourteen-2">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre> center - 容器内部居中。</pre>
+  <div class="container fourteen fourteen-3">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre>stretch - 项目大小没有指定时,拉伸占据整个网格容器。</pre>
+  <div class="container fourteen fourteen-4">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre>space-around - 每个项目两侧的间隔相等。所以,项目之间的间隔比项目与容器边框的间隔大一倍。</pre>
+  <div class="container fourteen fourteen-5">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre>space-between - 项目与项目的间隔相等,项目与容器边框之间没有间隔。</pre>
+  <div class="container fourteen fourteen-6">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+
+  <pre>space-evenly - 项目与项目的间隔相等,项目与容器边框之间也是同样长度的间隔。</pre>
+  <div class="container fourteen fourteen-7">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre>
+    /* 简写 */
+    place-content: &lt;align-content&gt; &lt;justify-content&gt;
+  </pre>
+  <div class="container fourteen fourteen-7">
+    <div>
+      <p>1</p>
+    </div>
+    <div>
+      <p>2</p>
+    </div>
+    <div>
+      <p>3</p>
+    </div>
+    <div>
+      <p>4</p>
+    </div>
+    <div>
+      <p>5</p>
+    </div>
+    <div>
+      <p>6</p>
+    </div>
+    <div>
+      <p>7</p>
+    </div>
+    <div>
+      <p>8</p>
+    </div>
+    <div>
+      <p>9</p>
+    </div>
+  </div>
+
+  <pre>
+      3.8 
+      grid-auto-columns 属性,
+      grid-auto-rows 属性
+    </pre>
+    <div class="container fourteen fourteen-7">
+      <div>
+        <p>1</p>
+      </div>
+      <div>
+        <p>2</p>
+      </div>
+      <div>
+        <p>3</p>
+      </div>
+      <div>
+        <p>4</p>
+      </div>
+      <div>
+        <p>5</p>
+      </div>
+      <div>
+        <p>6</p>
+      </div>
+      <div>
+        <p>7</p>
+      </div>
+      <div>
+        <p>8</p>
+      </div>
+      <div>
+        <p>9</p>
+      </div>
+    </div>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+</body>
+
+</html>

+ 0 - 0
grid.css


+ 2 - 1
package.json

@@ -9,7 +9,8 @@
   },
   "dependencies": {
     "core-js": "^2.6.5",
-    "vue": "^2.6.6"
+    "vue": "^2.6.6",
+    "vue-router": "^3.0.1"
   },
   "devDependencies": {
     "@vue/cli-plugin-babel": "^3.5.0",

+ 15 - 14
src/App.vue

@@ -1,21 +1,13 @@
 <template>
   <div id="app">
-    <img alt="Vue logo" src="./assets/logo.png">
-    <HelloWorld msg="Welcome to Your Vue.js App"/>
+    <div id="nav">
+      <router-link to="/">Home</router-link> |
+      <router-link to="/about">About</router-link>
+    </div>
+    <router-view/>
   </div>
 </template>
 
-<script>
-import HelloWorld from './components/HelloWorld.vue';
-
-export default {
-  name: 'app',
-  components: {
-    HelloWorld,
-  },
-};
-</script>
-
 <style lang="less">
 #app {
   font-family: 'Avenir', Helvetica, Arial, sans-serif;
@@ -23,6 +15,15 @@ export default {
   -moz-osx-font-smoothing: grayscale;
   text-align: center;
   color: #2c3e50;
-  margin-top: 60px;
+}
+#nav {
+  padding: 30px;
+  a {
+    font-weight: bold;
+    color: #2c3e50;
+    &.router-link-exact-active {
+      color: #42b983;
+    }
+  }
 }
 </style>

+ 2 - 0
src/main.js

@@ -1,8 +1,10 @@
 import Vue from 'vue';
 import App from './App.vue';
+import router from './router';
 
 Vue.config.productionTip = false;
 
 new Vue({
+  router,
   render: h => h(App),
 }).$mount('#app');

+ 23 - 0
src/router.js

@@ -0,0 +1,23 @@
+import Vue from 'vue';
+import Router from 'vue-router';
+import Home from './views/Home.vue';
+
+Vue.use(Router);
+
+export default new Router({
+  routes: [
+    {
+      path: '/',
+      name: 'home',
+      component: Home,
+    },
+    {
+      path: '/about',
+      name: 'about',
+      // route level code-splitting
+      // this generates a separate chunk (about.[hash].js) for this route
+      // which is lazy-loaded when the route is visited.
+      component: () => import(/* webpackChunkName: "about" */ './views/About.vue'),
+    },
+  ],
+});

+ 5 - 0
src/views/About.vue

@@ -0,0 +1,5 @@
+<template>
+  <div class="about">
+    <h1>This is an about page</h1>
+  </div>
+</template>

+ 18 - 0
src/views/Home.vue

@@ -0,0 +1,18 @@
+<template>
+  <div class="home">
+    <img alt="Vue logo" src="../assets/logo.png">
+    <HelloWorld msg="Welcome to Your Vue.js App"/>
+  </div>
+</template>
+
+<script>
+// @ is an alias to /src
+import HelloWorld from '@/components/HelloWorld.vue';
+
+export default {
+  name: 'home',
+  components: {
+    HelloWorld,
+  },
+};
+</script>

+ 5 - 0
yarn.lock

@@ -7846,6 +7846,11 @@ vue-loader@^15.6.4:
     vue-hot-reload-api "^2.3.0"
     vue-style-loader "^4.1.0"
 
+vue-router@^3.0.1:
+  version "3.0.3"
+  resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.0.3.tgz#370ca607475c45a1cfab2d9d2ac846feab1c534c"
+  integrity sha512-62rB6GjJuyklnLL+yKST469yCYj93SXEn8rpYjxgLwv0aH/Fd6OApD8Hgi9RlraZ1OOwv3jPQvZTtf1GixYW+g==
+
 vue-style-loader@^4.1.0:
   version "4.1.2"
   resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"