hjyd
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

154 lines
3.6 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. <template>
  2. <div class="wrap" id="culture">
  3. <div class="empty" v-if="showEmpty"></div>
  4. <div class="flex_center">
  5. <div class="culture_container" id="culture_container">
  6. <img :src="Background" class="bg_img" id="bg_img_scale" />
  7. <div class="contract_title" id="culture_ani">
  8. <p class="line"></p>
  9. <p class="title">企业文化</p>
  10. <p class="detail">
  11. 有信心有逻辑有实践有责任有总结·这就是我们的财富
  12. </p>
  13. <!-- <img class="img" :src="Back" alt="back" /> -->
  14. </div>
  15. <div class="card_list">
  16. <Card i="4" />
  17. <Card i="5" />
  18. <Card i="3" />
  19. <Card i="2" />
  20. <Card i="1" />
  21. </div>
  22. </div>
  23. </div>
  24. </div>
  25. </template>
  26. <script setup>
  27. import Back from '@/assets/img/culture/enterprise.png'
  28. import Background from '@/assets/img/culture/backimg.png'
  29. import Card from './Card'
  30. import { handleScreenAuto } from '@/common/utils'
  31. import { ref, onMounted } from 'vue'
  32. onMounted(() => {
  33. handleScreenAuto('#culture_container')
  34. window.onresize = handleScreenAuto('#culture_container')
  35. })
  36. const showEmpty = ref(true)
  37. </script>
  38. <style scoped lang="scss">
  39. @keyframes rotate {
  40. 0% {
  41. -webkit-transform: rotate(0deg);
  42. }
  43. 25% {
  44. -webkit-transform: rotate(90deg);
  45. }
  46. 50% {
  47. -webkit-transform: rotate(180deg);
  48. }
  49. 75% {
  50. -webkit-transform: rotate(270deg);
  51. }
  52. 100% {
  53. -webkit-transform: rotate(360deg);
  54. }
  55. }
  56. .wrap {
  57. width: 100vw;
  58. height: 100vh;
  59. background: $common_bg;
  60. position: relative;
  61. overflow: hidden;
  62. display: flex;
  63. align-items: center;
  64. justify-content: center;
  65. flex-direction: column;
  66. .empty {
  67. min-height: 90px;
  68. }
  69. .flex_center {
  70. flex: 1;
  71. display: flex;
  72. align-items: center;
  73. justify-content: center;
  74. .culture_container {
  75. width: 100%;
  76. height: 100%;
  77. // background: $common_bg;
  78. position: relative;
  79. transform-style: preserve-3d;
  80. display: flex;
  81. justify-content: space-between;
  82. flex-direction: column;
  83. .bg_img {
  84. position: absolute;
  85. width: 100vw;
  86. display: block;
  87. height: 100vw;
  88. object-fit: contain;
  89. left: 0;
  90. top: 0;
  91. animation: rotate 60s linear infinite;
  92. }
  93. .contract_title {
  94. z-index: 99;
  95. display: flex;
  96. align-items: center;
  97. justify-content: center;
  98. flex-direction: column;
  99. font-family: 'SourceHanSans';
  100. background-size: 100% 100%;
  101. padding: 75px;
  102. box-sizing: border-box;
  103. position: relative;
  104. white-space: nowrap;
  105. .line {
  106. width: 39px;
  107. height: 5px;
  108. background: #283fe7;
  109. border-radius: 3px;
  110. margin-bottom: 12px;
  111. }
  112. .img {
  113. position: absolute;
  114. top: 47%;
  115. left: 50%;
  116. transform: translateX(-50%) translateY(-50%);
  117. width: 295px;
  118. height: 35px;
  119. z-index: 9;
  120. }
  121. .title {
  122. font-size: 30px;
  123. font-weight: bold;
  124. color: #000000;
  125. margin-bottom: 21px;
  126. z-index: 10;
  127. .blue_font {
  128. color: $theme_color;
  129. }
  130. }
  131. .detail {
  132. font-size: 18px;
  133. font-weight: 300;
  134. color: #646a73;
  135. font-family: 'SourceHanSansLight';
  136. letter-spacing: 2px;
  137. }
  138. }
  139. .card_list {
  140. z-index: 99;
  141. flex: 1;
  142. display: flex;
  143. align-items: center;
  144. justify-content: space-evenly;
  145. padding: 0 137px 113px 137px;
  146. }
  147. }
  148. }
  149. }
  150. </style>