app.vue 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <template>
  2. <div>
  3. <NuxtRouteAnnouncer /> <!-- Nuxt 路由宣告,用于可访问性 -->
  4. <!-- 页头区域 -->
  5. <header class="site-header">
  6. <!--
  7. 将来在这里放置您的Logo。
  8. 请将您的logo图片(例如 logo.png)放置在项目的 `public` 文件夹下。
  9. 然后取消下面这行img标签的注释,并修改 src 指向您的logo文件。
  10. 例如: <img src="/logo.png" alt="CCDW Logo" class="logo">
  11. -->
  12. <!-- <img src="/your-logo.png" alt="CCDW Logo" class="logo"> -->
  13. <h1>纯粹的玩 (CCDW)</h1>
  14. <!-- 导航菜单可以稍后添加到这里 -->
  15. </header>
  16. <!-- 主内容区域 -->
  17. <main class="site-main">
  18. <!--
  19. <NuxtPage /> 组件是 Nuxt 3 的核心部分,
  20. 它会负责渲染 `pages` 目录中定义的页面组件。
  21. 例如,您的主页内容 (pages/index.vue) 会在这里显示。
  22. -->
  23. <NuxtPage />
  24. </main>
  25. <!-- 页脚区域 -->
  26. <footer class="site-footer">
  27. <p>&copy; {{ new Date().getFullYear() }} 纯粹的玩 (CCDW). 保留所有权利.</p>
  28. </footer>
  29. </div>
  30. </template>
  31. <!-- 样式部分 -->
  32. <style>
  33. /* 全局样式和基本布局 */
  34. body {
  35. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  36. margin: 0;
  37. display: flex;
  38. flex-direction: column; /* 使页脚可以固定在底部 */
  39. min-height: 100vh; /* 确保在内容不足时,页面也至少有视口高度 */
  40. color: #333; /* 默认文字颜色 */
  41. background-color: #f4f4f4; /* 页面背景色,可根据您的品牌调整 */
  42. }
  43. .site-header {
  44. background-color: #ffffff; /* 页头背景色 */
  45. padding: 1rem 2rem; /* 内边距 (上下 左右) */
  46. border-bottom: 1px solid #e0e0e0; /* 页头下边框,增加分割感 */
  47. display: flex; /* 使用flex布局以便对齐logo和标题 */
  48. align-items: center; /* 垂直居中对齐 */
  49. /* 如果有导航菜单,可以考虑使用 justify-content: space-between; */
  50. justify-content: center; /* 当前主要内容是标题,先居中 */
  51. }
  52. .logo {
  53. height: 50px; /* Logo高度,根据您的图片调整 */
  54. margin-right: 1rem; /* Logo和标题之间的间距 */
  55. }
  56. .site-header h1 {
  57. margin: 0; /* 去除h1默认的margin */
  58. font-size: 1.75rem; /* 标题字号 */
  59. color: #2c3e50; /* 标题颜色,深蓝灰色,Nuxt常用色调 */
  60. }
  61. .site-main {
  62. flex-grow: 1; /* 让主内容区域占据剩余的垂直空间 */
  63. padding: 2rem; /* 主内容区内边距 */
  64. max-width: 1200px; /* 内容最大宽度,防止在大屏幕上过宽 */
  65. width: 100%; /* 宽度占满容器 */
  66. margin: 0 auto; /* 水平居中内容 */
  67. box-sizing: border-box; /* padding和border不计入总宽度 */
  68. }
  69. .site-footer {
  70. background-color: #2c3e50; /* 页脚背景色 */
  71. color: white; /* 页脚文字颜色 */
  72. text-align: center; /* 文字居中 */
  73. padding: 1.5rem;
  74. margin-top: auto; /* 将页脚推到flex容器的底部 */
  75. }
  76. .site-footer p {
  77. margin: 0; /* 去除段落默认的margin */
  78. }
  79. /* 简单的响应式调整:针对小屏幕设备 */
  80. @media (max-width: 768px) {
  81. .site-header {
  82. padding: 1rem; /* 调整小屏幕上的内边距 */
  83. flex-direction: column; /* 在小屏幕上,Logo和标题垂直排列 */
  84. }
  85. .logo {
  86. margin-right: 0; /* 移除水平间距 */
  87. margin-bottom: 0.5rem; /* Logo和标题之间的垂直间距 */
  88. }
  89. .site-header h1 {
  90. font-size: 1.5rem; /* 调整小屏幕上的标题字号 */
  91. }
  92. .site-main {
  93. padding: 1rem; /* 调整小屏幕上的主内容区内边距 */
  94. }
  95. }
  96. </style>