app.vue 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  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="./assets/ccdw_logo_2025.5.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. <p>杭州纯粹的玩品牌科技有限公司 坐落于 浙江省杭州市西湖区转塘街道云腾丝路中心5号楼商业208室</p>
  29. </footer>
  30. </div>
  31. </template>
  32. <!-- 样式部分 -->
  33. <style>
  34. /* 全局样式和基本布局 */
  35. body {
  36. font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  37. margin: 0;
  38. display: flex;
  39. flex-direction: column; /* 使页脚可以固定在底部 */
  40. min-height: 100vh; /* 确保在内容不足时,页面也至少有视口高度 */
  41. color: #333; /* 默认文字颜色 */
  42. background-color: #fff; /* 页面背景色,可根据您的品牌调整 */
  43. }
  44. .site-header {
  45. background-color: #ffffff; /* 页头背景色 */
  46. padding: 1rem 2rem; /* 内边距 (上下 左右) */
  47. border-bottom: 1px solid #e0e0e0; /* 页头下边框,增加分割感 */
  48. display: flex; /* 使用flex布局以便对齐logo和标题 */
  49. align-items: center; /* 垂直居中对齐 */
  50. /* 如果有导航菜单,可以考虑使用 justify-content: space-between; */
  51. justify-content: center; /* 当前主要内容是标题,先居中 */
  52. }
  53. .logo {
  54. height: 250px; /* Logo高度,根据您的图片调整 */
  55. margin-right: 1rem; /* Logo和标题之间的间距 */
  56. }
  57. .site-header h1 {
  58. margin: 0; /* 去除h1默认的margin */
  59. font-size: 1.75rem; /* 标题字号 */
  60. color: #2c3e50; /* 标题颜色,深蓝灰色,Nuxt常用色调 */
  61. }
  62. .site-main {
  63. flex-grow: 1; /* 让主内容区域占据剩余的垂直空间 */
  64. padding: 2rem; /* 主内容区内边距 */
  65. max-width: 1200px; /* 内容最大宽度,防止在大屏幕上过宽 */
  66. width: 100%; /* 宽度占满容器 */
  67. margin: 0 auto; /* 水平居中内容 */
  68. box-sizing: border-box; /* padding和border不计入总宽度 */
  69. }
  70. .site-footer {
  71. background-color: #fff; /* 页脚背景色 */
  72. font-size: 0.7rem; /* 页脚文字字号 */;
  73. color: 333; /* 页脚文字颜色 */
  74. text-align: center; /* 文字居中 */
  75. padding: 1.5rem;
  76. margin-top: auto; /* 将页脚推到flex容器的底部 */
  77. }
  78. .site-footer p {
  79. margin: 0; /* 去除段落默认的margin */
  80. }
  81. /* 简单的响应式调整:针对小屏幕设备 */
  82. @media (max-width: 768px) {
  83. .site-header {
  84. padding: 1rem; /* 调整小屏幕上的内边距 */
  85. flex-direction: column; /* 在小屏幕上,Logo和标题垂直排列 */
  86. }
  87. .logo {
  88. margin-right: 0; /* 移除水平间距 */
  89. margin-bottom: 0.5rem; /* Logo和标题之间的垂直间距 */
  90. }
  91. .site-header h1 {
  92. font-size: 1.5rem; /* 调整小屏幕上的标题字号 */
  93. }
  94. .site-main {
  95. padding: 1rem; /* 调整小屏幕上的主内容区内边距 */
  96. }
  97. }
  98. </style>