Default.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <div class="layout">
  3. <header class="header">
  4. <strong>
  5. <g-link to="/">{{ $static.metaData.siteName }}</g-link>
  6. </strong>
  7. <nav class="nav">
  8. <g-link class="nav__link" to="/">Home</g-link>
  9. <g-link class="nav__link" to="/article">Article</g-link>
  10. </nav>
  11. </header>
  12. <main>
  13. <slot/>
  14. </main>
  15. <footer>
  16. <p class="home-links">
  17. <a href="https://gridsome.org/docs" target="_blank" rel="noopener">Gridsome Docs</a>
  18. <a href="https://github.com/gridsome/gridsome" target="_blank" rel="noopener">GitHub</a>
  19. </p>
  20. </footer>
  21. </div>
  22. </template>
  23. <static-query>
  24. query {
  25. metaData {
  26. siteName
  27. }
  28. }
  29. </static-query>
  30. <style>
  31. html,body{
  32. height:100%;
  33. }
  34. body {
  35. font-family: "Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  36. margin:0;
  37. padding:0;
  38. line-height: 1.5;
  39. display:flex;
  40. flex-direction:column;
  41. justify-content:flex-start;
  42. align-items:center;
  43. }
  44. .layout {
  45. max-width: 760px;
  46. padding-left: 20px;
  47. padding-right: 20px;
  48. height:100%;
  49. display:flex;
  50. flex-direction:column;
  51. }
  52. main{
  53. height:100%;
  54. }
  55. .header {
  56. display: flex;
  57. justify-content: space-between;
  58. align-items: center;
  59. margin-bottom: 20px;
  60. height: 80px;
  61. }
  62. .nav__link {
  63. margin-left: 20px;
  64. }
  65. </style>