carousel.vue 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. <template>
  2. <div class="carousel">
  3. <div class="carousel-box">
  4. <div class="carousel-desc common-width">
  5. <h1>我们的服务</h1>
  6. <hr class="carousel-desc-line" />
  7. <div class="carousel-desc-text">优秀领导者能够带动业绩增长。我们致力于提供企业所需的见解,协助其做出有关人才寻聘、培养及晋升的正确决策,提升高管团队与董事会的绩效。</div>
  8. </div>
  9. </div>
  10. <div class="three-up-promo-cards common-width">
  11. <div class="three-up-promo-cards__card" v-for="(k, i) in list" :key="i">
  12. <span class="impact-messaging__number">{{ k.title }}</span>
  13. <span class="impact-messaging__copy">{{ k.desc }}</span>
  14. </div>
  15. </div>
  16. <div class="service-link">
  17. <div class="service-link-box common-width">
  18. <ul>
  19. <li v-for="(val, index) in service" :key="index" :style="{'border-left': index !== 0 ? '1px solid #56738f' : 'none'}">{{ val.title }}</li>
  20. </ul>
  21. </div>
  22. </div>
  23. <div class="site-width__constraint">
  24. <p class="text-center">依托在高管寻聘和领导力咨询方面的深厚专业知识,我们的顾问可进行跨行业、跨部门和跨地区的合作,以便更好地服务我们的客户。
  25. 我们帮助组织寻找和培养优秀的领导者,提高团队效力,支持战略或文化转型。</p>
  26. </div>
  27. <div class="country-offices common-width mb-10">
  28. <h2 class="section-header--country-page">我们的顾问</h2>
  29. <div class="d-flex consultant-box">
  30. <div v-for="(val, i) in consultant" :key="i" class="consultant-item">
  31. <div class="consultant-item__img" :style="{'background-image': `url('${val.avatar}')`, 'width': '100%', 'height': '100%' }"></div>
  32. <div class="consultant-item__name">{{ val.enName }}</div>
  33. <p class="consultant-item__country">{{ val.country }}</p>
  34. </div>
  35. </div>
  36. </div>
  37. <div class="country-offices common-width mb-10">
  38. <h2 class="section-header--country-page">我们的办公地点</h2>
  39. <ul>
  40. <li v-for="(val, index) in countryOffice" :key="index" class="cursor">
  41. <div class="country-offices__office-content">
  42. <div class="country-office__office-link">
  43. <h3 style="font-size: 40px; margin-bottom: 10px;">{{ val.name }}</h3>
  44. <p>{{ val.desc }}</p>
  45. </div>
  46. <div class="country-offices__office-image" :style="{'background-image': `url('${val.url}')` }"></div>
  47. <div class="country-offices__office-overlay"></div>
  48. </div>
  49. </li>
  50. </ul>
  51. </div>
  52. </div>
  53. </template>
  54. <script setup>
  55. defineOptions({ name: 'headhunting-carousel'})
  56. const list = [
  57. { title: '70家', desc: '全球分支机构' },
  58. { title: '67年', desc: '领导力咨询经验' },
  59. { title: '450+位', desc: '经验丰富的顾问' }
  60. ]
  61. const service = [
  62. { title: '高管搜索与招募' },
  63. { title: '董事会服务' },
  64. { title: '首次执行官继任计划' },
  65. { title: '高管评估服务' },
  66. { title: '领导力咨询服务' }
  67. ]
  68. const countryOffice = [
  69. { name: '北京', desc: '故宫', url: 'https://cn.spencerstuart.com/-/media/offices-search/beijing-office.jpg' },
  70. { name: '上海', desc: '东方明珠', url: 'https://cn.spencerstuart.com/-/media/offices-search/hong-kong-office.jpg' },
  71. { name: '广州', desc: '珠江新城', url: 'https://cn.spencerstuart.com/-/media/offices-search/shanghai-1597-15257628-office-hdr.jpg' }
  72. ]
  73. const consultant = [
  74. { country: '北京', enName: 'Siew Kiang Ng', avatar: 'https://cn.spencerstuart.com/-/media/consultant-photos-new/singapore/ng_siewkiang-web-5a.jpg' },
  75. { country: '上海', enName: 'Alice Au', avatar: 'https://cn.spencerstuart.com/-/media/consultant-photos-new/hong-kong/young_jeremy-web-5d.jpg' },
  76. { country: '苏州', enName: 'Jeremy Young', avatar: 'https://cn.spencerstuart.com/-/media/consultant-photos-new/hong-kong/au_alice-web-2d.jpg' }
  77. ]
  78. </script>
  79. <style scoped lang="scss">
  80. .common-width {
  81. width: 100%;
  82. max-width: 1000px;
  83. }
  84. .carousel-box {
  85. width: 100%;
  86. height: 480px;
  87. color: #fff;
  88. font-weight: 700;
  89. background-image: url('https://minio.citupro.com/dev/menduner/headhunting/ad.jpeg');
  90. background-size: cover;
  91. background-repeat: no-repeat;
  92. background-position: center center;
  93. font-family: FFScalaSansWebBold, Georgia, Utopia, Charter, sans-serif;
  94. font-style: normal;
  95. font-weight: 700;
  96. .carousel-desc {
  97. margin: 0 auto;
  98. text-align: center;
  99. h1 {
  100. padding: 32px 0;
  101. }
  102. &-line {
  103. background-color: #fbcc11;
  104. width: 42px;
  105. height: 5px;
  106. margin: 0 auto;
  107. border: 0;
  108. }
  109. &-text {
  110. clear: both;
  111. font-size: 26px;
  112. padding: 48px 84px 0;
  113. }
  114. }
  115. }
  116. .three-up-promo-cards {
  117. display: flex;
  118. margin: 0 auto;
  119. background-color: #f5f7f9;
  120. margin-top: -100px;
  121. margin-bottom: 64px;
  122. position: relative;
  123. z-index: 700;
  124. font-weight: 400;
  125. .three-up-promo-cards__card {
  126. color: #003d79;
  127. width: 33.3%;
  128. flex: 1 0 auto;
  129. padding: 32px 24px;
  130. position: relative;
  131. text-align: center;
  132. font-family: FFScalaWeb, Georgia, Utopia, Charter, sans-serif;
  133. font-style: normal;
  134. font-weight: 400;
  135. .impact-messaging__number {
  136. display: block;
  137. font-size: 6rem;
  138. line-height: 6.5rem;
  139. font-variant-numeric: oldstyle-nums;
  140. font-feature-settings: "onum";
  141. -webkit-font-feature-settings: "onum";
  142. letter-spacing: -8px;
  143. }
  144. .impact-messaging__copy {
  145. font-size: .9375rem;
  146. text-transform: uppercase;
  147. letter-spacing: 1px;
  148. }
  149. }
  150. }
  151. .service-link {
  152. height: 88px;
  153. font-family: FFScalaSansWebBold, Helvetica, Arial, sans-serif;
  154. font-style: normal;
  155. font-weight: 700;
  156. color: #fff;
  157. font-size: .75rem;
  158. letter-spacing: 3px;
  159. text-transform: uppercase;
  160. padding: 20px 0;
  161. background-color: #00396f;
  162. &-box {
  163. margin: auto;
  164. ul {
  165. display: flex;
  166. list-style-type: none;
  167. width: 100%;
  168. margin: 0;
  169. padding: 0;
  170. li {
  171. width: 20%;
  172. padding: 15px;
  173. text-align: center;
  174. vertical-align: middle;
  175. cursor: pointer;
  176. &:hover {
  177. opacity: .7;
  178. }
  179. }
  180. }
  181. }
  182. }
  183. .site-width__constraint {
  184. max-width: 820px;
  185. text-align: left;
  186. margin: auto;
  187. padding: 40px 0;
  188. }
  189. .country-offices {
  190. padding-block: 50px;
  191. margin: auto;
  192. .section-header--country-page {
  193. font-size: 44px;
  194. line-height: 52px;
  195. margin-bottom: 44px;
  196. text-align: center;
  197. text-transform: none;
  198. font-weight: 400;
  199. }
  200. ul {
  201. display: flex;
  202. flex-wrap: wrap;
  203. height: 286px;
  204. justify-content: center;
  205. list-style-type: none;
  206. padding-left: 0;
  207. li {
  208. width: calc((100% - 60px) / 3);
  209. max-width: 350px;
  210. position: relative;
  211. margin-right: 20px;
  212. cursor: pointer;
  213. transition: transform 0.3s ease;
  214. &:nth-child(3n) {
  215. margin-right: 0;
  216. }
  217. &::before {
  218. content: '';
  219. display: block;
  220. padding-top: 83.3%;
  221. width: 100%;
  222. }
  223. .country-offices__office-content {
  224. bottom: 0;
  225. left: 0;
  226. position: absolute;
  227. right: 0;
  228. top: 0;
  229. }
  230. .country-office__office-link {
  231. height: 100%;
  232. width: 100%;
  233. color: #fff;
  234. position: absolute;
  235. display: flex;
  236. flex-direction: column;
  237. justify-content: center;
  238. z-index: 1;
  239. padding: 30px;
  240. }
  241. .country-offices__office-image {
  242. display: block;
  243. width: 100%;
  244. height: 100%;
  245. position: absolute;
  246. background-repeat: no-repeat;
  247. background-position: center center;
  248. background-size: cover;
  249. background-color: #404040;
  250. transition: transform .3s, -webkit-transform .3s;
  251. }
  252. .country-offices__office-overlay {
  253. background-color: rgba(76,76,78,.6);
  254. transition: .3s;
  255. display: block;
  256. width: 100%;
  257. height: 100%;
  258. position: absolute;
  259. }
  260. }
  261. .cursor:hover {
  262. transform: translateY(-15px);
  263. }
  264. }
  265. }
  266. .consultant-box {
  267. width: 100%;
  268. height: 200px;
  269. .consultant-item {
  270. width: calc((100% - 60px) / 3);
  271. max-width: 350px;
  272. margin-right: 20px;
  273. cursor: pointer;
  274. &:nth-child(3n) {
  275. margin-right: 0;
  276. }
  277. .consultant-item__img {
  278. background-repeat: no-repeat;
  279. background-position: center center;
  280. background-size: cover;
  281. }
  282. .consultant-item__name {
  283. font-family: FFScalaWebBold, Georgia, Utopia, Charter, serif;
  284. font-weight: 700;
  285. color: #4c4c4e;
  286. margin-top: 10px;
  287. }
  288. .consultant-item__country {
  289. font-family: FFScalaWebItalic, Georgia, Utopia, Charter, sans-serif;
  290. font-style: italic;
  291. font-weight: 400;
  292. color: #818183;
  293. }
  294. }
  295. }
  296. </style>