BannerTitle.vue 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. <template>
  2. <LayoutContainer>
  3. <div class="container-title">
  4. <v-col cols="3" class="lateral-text">
  5. <span>
  6. {{ leftText }}
  7. </span>
  8. </v-col>
  9. <v-col cols="6">
  10. <h1>
  11. {{ title }}
  12. </h1>
  13. </v-col>
  14. <v-col cols="3" class="lateral-text">
  15. <span>
  16. {{ rightText }}
  17. </span>
  18. </v-col>
  19. </div>
  20. </LayoutContainer>
  21. </template>
  22. <script setup lang="ts">
  23. const props = defineProps({
  24. title: {
  25. type: String,
  26. required: true
  27. },
  28. leftText: {
  29. type: String,
  30. required: false,
  31. default: ""
  32. },
  33. rightText: {
  34. type: String,
  35. required: false,
  36. default: ""
  37. },
  38. });
  39. </script>
  40. <style scoped>
  41. .container-title {
  42. display: flex;
  43. justify-content: space-around;
  44. line-height: 16px;
  45. align-items: center;
  46. text-align: center;
  47. letter-spacing: 0.18em;
  48. border-bottom: 0.1rem solid var(--on-neutral-color-extra-light);
  49. }
  50. h1 {
  51. font-size: 72px;
  52. line-height: 77px;
  53. color: var(--on-neutral-color);
  54. text-align: center;
  55. }
  56. .lateral-text {
  57. position: absolute;
  58. font-weight: 600;
  59. font-size: 72px;
  60. line-height: 85px;
  61. opacity: 0.08;
  62. margin-top: 2rem;
  63. margin-bottom: 2rem;
  64. font-style: normal;
  65. }
  66. .lateral-text:first-child {
  67. left: -10rem;
  68. }
  69. .lateral-text:last-child {
  70. right: -10rem;
  71. }
  72. </style>