skeleton.vue 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171
  1. <template>
  2. <div class="page-skeleton">
  3. <img
  4. src="./img/secondhead.webp"
  5. class="i1 animate__animated animate__backInLeft"
  6. />
  7. <div class="center">
  8. <p
  9. class="title animate__animated animate__backInRight"
  10. v-text="titleLine"
  11. ></p>
  12. <div class="title_text">
  13. <div class="icon animate__animated animate__lightSpeedInLeft">
  14. <div class="dh"></div>
  15. </div>
  16. <span
  17. style="display: block"
  18. class="animate__animated animate__backInLeft"
  19. >
  20. {{ title }}
  21. </span>
  22. <div class="line animate__animated animate__lightSpeedInRight"></div>
  23. </div>
  24. <div class="centent">
  25. <slot></slot>
  26. </div>
  27. </div>
  28. <div class="bottom">
  29. <div class="animate__animated animate__bounceInUp">
  30. 陕西广电融媒体集团
  31. </div>
  32. </div>
  33. </div>
  34. </template>
  35. <script setup>
  36. import { defineProps } from 'vue';
  37. import 'animate.css';
  38. defineProps({
  39. title: {
  40. type: String, //参数类型
  41. default: String, //默认值
  42. required: true, //是否必须传递
  43. },
  44. titleLine: {
  45. type: String, //参数类型
  46. default: String, //默认值
  47. required: true, //是否必须传递
  48. },
  49. });
  50. </script>
  51. <style lang="scss">
  52. // 动画库
  53. @import url(./sass/animation.scss);
  54. @import url(./sass/base.scss);
  55. .page-skeleton {
  56. background-color: #fff;
  57. padding: 21vh 0 12vh 0;
  58. position: relative;
  59. margin: 0 auto;
  60. font-family: 'Microsoft YaHei', Tahoma, Helvetica, Arial, 宋体, sans-serif;
  61. font-weight: 400;
  62. .i1 {
  63. position: absolute;
  64. z-index: 8;
  65. top: 0;
  66. width: 100%;
  67. height: 21vh;
  68. transform: rotateZ(0deg);
  69. display: block;
  70. }
  71. .bottom {
  72. position: absolute;
  73. background-color: #502e74;
  74. color: #fff;
  75. text-align: center;
  76. bottom: 0;
  77. width: 100%;
  78. height: 11.5vh;
  79. font-size: 12px;
  80. padding: 10px 0 0 0;
  81. }
  82. .center {
  83. height: 64vh;
  84. text-align: center;
  85. line-height: 2em;
  86. .title {
  87. line-height: 2.5em;
  88. font-size: 18px;
  89. -ms-word-wrap: break-word;
  90. word-wrap: break-word;
  91. color: #200c38;
  92. text-indent: justify;
  93. letter-spacing: 0.58em;
  94. }
  95. .title_text {
  96. width: 85%;
  97. margin: 0 auto;
  98. padding-left: 2.5em;
  99. height: 2em;
  100. text-align: left;
  101. position: relative;
  102. .icon {
  103. position: absolute;
  104. left: 0;
  105. width: 2em;
  106. height: 2em;
  107. &::after,
  108. &::before,
  109. .dh {
  110. display: block;
  111. content: ' ';
  112. width: 80%;
  113. height: 80%;
  114. background-color: #050308;
  115. position: absolute;
  116. top: 5%;
  117. left: 5%;
  118. z-index: 1;
  119. }
  120. &::after,
  121. .dh {
  122. background-color: #654987;
  123. z-index: 0;
  124. top: 15%;
  125. left: 25%;
  126. }
  127. .dh {
  128. z-index: 1;
  129. -webkit-animation: second-page-icon 1.2s linear infinite;
  130. -moz-animation: second-page-icon 1.2s linear infinite;
  131. -o-animation: second-page-icon 1.2s linear infinite;
  132. animation: second-page-icon 1.2s linear infinite;
  133. }
  134. }
  135. .line {
  136. height: 3px;
  137. width: calc(100% + 2.5em);
  138. background-color: #654987;
  139. margin-left: -2.5em;
  140. margin-top: 0.25em;
  141. }
  142. }
  143. .centent {
  144. width: 85%;
  145. margin: 2em auto 0 auto;
  146. font-size: 14px;
  147. line-height: 1.5em;
  148. text-align: left;
  149. text-indent: justify;
  150. letter-spacing: 0.08em;
  151. color: #000;
  152. > h2 {
  153. margin-bottom: 10px;
  154. }
  155. }
  156. }
  157. }
  158. </style>