index.vue 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <template>
  2. <div id="layout__container">
  3. <!-- 全局加载动画 -->
  4. <!-- <LoadingSpinner /> -->
  5. <!-- header -->
  6. <header class="layout__header">
  7. <Header></Header>
  8. </header>
  9. <!-- main -->
  10. <main class="layout__main">
  11. <Main></Main>
  12. </main>
  13. <!-- footer -->
  14. <footer class="layout__footer">
  15. <Footer></Footer>
  16. </footer>
  17. </div>
  18. </template>
  19. <script setup lang="ts">
  20. import Header from './modules/Header/index.vue'
  21. import Main from './modules/Main/index.vue'
  22. import Footer from './modules/Footer/index.vue'
  23. // import LoadingSpinner from '@/components/LoadingSpinner.vue'
  24. </script>
  25. <style lang="less" scoped>
  26. #layout__container {
  27. display: flex;
  28. flex-direction: column;
  29. width: 100%;
  30. min-height: 100vh;
  31. .layout__header {
  32. position: sticky;
  33. left: 0;
  34. top: 0;
  35. z-index: 50;
  36. width: 100%;
  37. }
  38. .layout__main {
  39. flex: 1;
  40. display: flex;
  41. flex-direction: column;
  42. width: 100%;
  43. height: auto;
  44. }
  45. .layout__footer {
  46. width: 100%;
  47. height: auto;
  48. }
  49. }
  50. </style>