BannerTitle.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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 #eaeaea;
  49. }
  50. h1 {
  51. font-size: 72px;
  52. line-height: 77px;
  53. color: #000000;
  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. }
  65. .lateral-text:first-child {
  66. left: -10rem;
  67. }
  68. .lateral-text:last-child {
  69. right: -10rem;
  70. }
  71. </style>