Page.vue 940 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. <template>
  2. <main class="page">
  3. <div class="container">
  4. <slot name="top" />
  5. <div class="content">
  6. <Content />
  7. </div>
  8. <PageFooter />
  9. <NextAndPrevLinks />
  10. <slot name="bottom" />
  11. </div>
  12. </main>
  13. </template>
  14. <script setup lang="ts">
  15. import PageFooter from './PageFooter.vue';
  16. import NextAndPrevLinks from './NextAndPrevLinks.vue';
  17. </script>
  18. <style scoped>
  19. .page {
  20. padding-top: var(--header-height);
  21. }
  22. @media (min-width: 720px) {
  23. .page {
  24. margin-left: 16.4rem;
  25. }
  26. }
  27. @media (min-width: 960px) {
  28. .page {
  29. margin-left: 20rem;
  30. }
  31. }
  32. .container {
  33. margin: 0 auto;
  34. padding: 0 1.5rem 4rem;
  35. padding: 0.025rem 0rem 2rem 0;
  36. width: calc(100% - var(--slug-width));
  37. }
  38. .content {
  39. padding-bottom: 1.5rem;
  40. }
  41. @media (max-width: 420px) {
  42. .content {
  43. /* fix carbon ads display */
  44. clear: both;
  45. }
  46. }
  47. </style>