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.

135 lines
3.7 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
  1. <template>
  2. <div class="wrap">
  3. <div class="empty" v-if="showEmpty"></div>
  4. <div class="flex_center" id="read_widely_container_flex">
  5. <div class="read_widely_container" id="read_widely_container">
  6. <div class="contract_title" id="read_widely_ani">
  7. <p class="line"></p>
  8. <p class="title">我们<span class="blue_font">涉猎广泛</span></p>
  9. <p class="detail">跨行业技术研发综合体</p>
  10. </div>
  11. <div class="content">
  12. <div class="card_wrap">
  13. <Card title="3C消费电子" i="1" />
  14. <Card title="医疗器械" i="2" />
  15. <Card title="工业设备" i="3" />
  16. <Card title="军工特种装备" i="4" />
  17. <Card title="智能硬件" i="5" />
  18. <Card title="物联网" i="6" />
  19. <Card title="新能源" i="7" />
  20. <Card title="消毒设备" i="8" />
  21. <Card title="产线自动化" i="9" />
  22. <Card title="人工智能" i="10" />
  23. <Card title="机器视觉" i="11" />
  24. <Card title="实验仪器" i="12" />
  25. </div>
  26. </div>
  27. </div>
  28. </div>
  29. </div>
  30. </template>
  31. <script setup>
  32. import { ref, onMounted } from 'vue'
  33. import { handleScreenAuto, handleScreenToFlexCenter } from '@/common/utils'
  34. import Card from './Card'
  35. const showEmpty = ref(true)
  36. onMounted(() => {
  37. const func = () => {
  38. handleScreenAuto('#read_widely_container')
  39. handleScreenToFlexCenter('#read_widely_container', '#read_widely_container')
  40. }
  41. func()
  42. window.onresize = func
  43. })
  44. </script>
  45. <style lang="scss" scoped>
  46. .wrap {
  47. width: 100vw;
  48. height: 100vh;
  49. background: url(../../../../assets/img/readwidely/back1.png) no-repeat;
  50. background-size: 100% 100%;
  51. display: flex;
  52. align-items: center;
  53. justify-content: center;
  54. flex-direction: column;
  55. .empty {
  56. min-height: 90px;
  57. }
  58. .flex_center {
  59. flex: 1;
  60. display: flex;
  61. justify-content: center;
  62. align-items: center;
  63. .read_widely_container {
  64. width: 100%;
  65. height: 100%;
  66. .contract_title {
  67. z-index: 99;
  68. display: flex;
  69. align-items: center;
  70. justify-content: center;
  71. flex-direction: column;
  72. font-family: 'SourceHanSans';
  73. background-size: 100% 100%;
  74. padding: 56px 0 35px 0;
  75. box-sizing: border-box;
  76. position: relative;
  77. white-space: nowrap;
  78. .line {
  79. width: 39px;
  80. height: 5px;
  81. background: #283fe7;
  82. border-radius: 3px;
  83. margin-bottom: 12px;
  84. }
  85. .img {
  86. position: absolute;
  87. top: 47%;
  88. left: 50%;
  89. transform: translateX(-50%) translateY(-50%);
  90. width: 295px;
  91. height: 35px;
  92. z-index: 9;
  93. }
  94. .title {
  95. font-size: 30px;
  96. font-weight: bold;
  97. color: #000000;
  98. margin-bottom: 21px;
  99. z-index: 10;
  100. .blue_font {
  101. color: $theme_color;
  102. }
  103. }
  104. .detail {
  105. font-size: 18px;
  106. font-weight: 300;
  107. color: #646a73;
  108. font-family: 'SourceHanSansLight';
  109. letter-spacing: 2px;
  110. }
  111. }
  112. .content {
  113. padding: 0 164px 55px 164px;
  114. box-sizing: border-box;
  115. width: 100%;
  116. .card_wrap {
  117. column-gap: 37px;
  118. padding: 41px;
  119. background: url(../../../../assets/img/readwidely/back2.png) no-repeat;
  120. background-size: 100% 100%;
  121. display: grid;
  122. justify-content: space-evenly;
  123. row-gap: 33px;
  124. align-items: center;
  125. grid-template-rows: repeat(3, 1fr);
  126. grid-template-columns: repeat(4, 1fr);
  127. }
  128. }
  129. }
  130. }
  131. }
  132. </style>