index.vue 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882
  1. <template>
  2. <div class="container">
  3. <template v-if="notWebgl">
  4. <div class="css-animation" >
  5. <div class="blue-bg">
  6. <span class="phone"></span>
  7. <span class="goods"></span>
  8. <span class="nut"></span>
  9. <span class="people"></span>
  10. <span class="flower">
  11. <span class="leaf_2"></span>
  12. <span class="leaf_1"></span>
  13. <span class="leaf_4"></span>
  14. <span class="leaf_3"></span>
  15. <span class="flowerpot"></span>
  16. </span>
  17. <span class="fengche"></span>
  18. </div>
  19. </div>
  20. </template>
  21. <template v-else>
  22. <canvas id="output"></canvas>
  23. </template>
  24. <div class="wrapper">
  25. <div class="header">
  26. <span class="logo">NUTUI
  27. <s></s>
  28. </span>
  29. <search/>
  30. <div class="menu">
  31. <ul>
  32. <li>
  33. <a href="#/doc">指南</a>
  34. </li>
  35. <li>
  36. <a href="#/ActionSheet">组件</a>
  37. </li>
  38. <li>
  39. <a href="/demo.html#/index" class="qrcode top-qr" target="_blank">示例
  40. <a>
  41. <span>请使用手机扫码体验</span>
  42. <img
  43. src="http://img13.360buyimg.com/uba/jfs/t1/14144/37/3433/5890/5c26d976E7cd98b80/94583409233081cc.png"
  44. alt
  45. >
  46. </a>
  47. </a>
  48. </li>
  49. </ul>
  50. <select @change="openwindow">
  51. <option value="2">2.X</option>
  52. <option value="1">1.X</option>
  53. </select>
  54. <a href="https://github.com/jdf2e/nutui" title="Github" target="_blank" class="github-icon">github</a>
  55. </div>
  56. </div>
  57. <div class="content">
  58. <div class="mouseDiv" id="mouseDiv"></div>
  59. <p class="title">NutUI</p>
  60. <p class="sub-title">一套轻量级移动端Vue / 微信小程序组件库</p>
  61. <a href="#/doc" class="blue-btn">开始使用</a>
  62. <a href="javascript:;" class="qrcode btn">
  63. 扫码体验
  64. <a>
  65. <span>请使用手机扫码体验</span>
  66. <img
  67. src="http://img13.360buyimg.com/uba/jfs/t1/14144/37/3433/5890/5c26d976E7cd98b80/94583409233081cc.png"
  68. alt
  69. >
  70. </a>
  71. </a>
  72. </div>
  73. </div>
  74. </div>
  75. </template>
  76. <script>
  77. import * as THREE from "three";
  78. import TWEEN from "@tweenjs/tween.js";
  79. import Detector from "./asset/js/Detector.js";
  80. import search from './search.vue';
  81. export default {
  82. name: "frontCover",
  83. data() {
  84. return {
  85. timer: null,
  86. notWebgl: true,
  87. isSmall:false
  88. };
  89. },
  90. components:{
  91. search
  92. },
  93. methods: {
  94. openwindow(val) {
  95. if (val.target.value == 1) {
  96. window.location.href = " http://nutui.jd.com/1x/";
  97. }
  98. },
  99. threeAnimation() {
  100. this.timer = setTimeout(() => {
  101. //获取视窗宽高
  102. var mouseX = 0,
  103. mouseY = 0;
  104. var SCREEN_HEIGHT = window.innerHeight;
  105. var SCREEN_WIDTH = window.innerWidth;
  106. var tween;
  107. var planeObj = {
  108. x: 450,
  109. y: 80
  110. };
  111. //渲染器(render)
  112. var renderer = new THREE.WebGLRenderer({
  113. canvas: document.getElementById("output")
  114. });
  115. //设置背景颜色
  116. renderer.setClearColor(0xffffff, 1.0);
  117. renderer.setPixelRatio(window.devicePixelRatio);
  118. renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
  119. //场景(Scene)
  120. var scene = new THREE.Scene();
  121. //透视投影相机
  122. var camera = new THREE.PerspectiveCamera(
  123. 45,
  124. SCREEN_WIDTH / SCREEN_HEIGHT,
  125. 1,
  126. 10000
  127. );
  128. camera.position.set(0, 0, 1300);
  129. camera.lookAt(scene.position);
  130. scene.add(camera);
  131. //光源
  132. var ambientLight = new THREE.AmbientLight("#468be8");
  133. scene.add(ambientLight);
  134. ambientLight.color.setHex(0xffffff);
  135. //背景蓝色
  136. var texture = new THREE.TextureLoader().load(
  137. "//img12.360buyimg.com/uba/jfs/t1/22824/40/3136/6504/5c24a3f4E76fdafde/802d02d1ec5d3d55.png"
  138. );
  139. var material = new THREE.MeshBasicMaterial({
  140. map: texture,
  141. transparent: true
  142. });
  143. var geometry = new THREE.PlaneBufferGeometry(1174, 923);
  144. //货物箱
  145. var texture1 = new THREE.TextureLoader().load(
  146. "//img14.360buyimg.com/uba/jfs/t1/21115/40/3224/5652/5c24a411E03ef9eb6/83781b97e59da905.png"
  147. );
  148. var material1 = new THREE.MeshBasicMaterial({
  149. map: texture1,
  150. transparent: true
  151. });
  152. var geometry1 = new THREE.PlaneBufferGeometry(146, 206);
  153. //人物
  154. var texture2 = new THREE.TextureLoader().load(
  155. "//img12.360buyimg.com/uba/jfs/t1/9330/16/10894/8662/5c24a42aE708692b3/14455d20eca1ccee.png"
  156. );
  157. var material2 = new THREE.MeshBasicMaterial({
  158. map: texture2,
  159. transparent: true
  160. });
  161. var geometry2 = new THREE.PlaneBufferGeometry(230, 417);
  162. //phone
  163. var texture3 = new THREE.TextureLoader().load(
  164. "//img10.360buyimg.com/uba/jfs/t1/19171/19/3175/23282/5c24a440Ee2a94261/45321aeaf173f237.png"
  165. );
  166. var material3 = new THREE.MeshBasicMaterial({
  167. map: texture3,
  168. transparent: true
  169. });
  170. var geometry3 = new THREE.PlaneBufferGeometry(284, 524);
  171. //flower
  172. var texture4 = new THREE.TextureLoader().load(
  173. "//img13.360buyimg.com/uba/jfs/t1/20972/11/3212/7155/5c24a45aE356f126d/2649726673daddc8.png"
  174. );
  175. var material4 = new THREE.MeshBasicMaterial({
  176. map: texture4,
  177. transparent: true
  178. });
  179. var geometry4 = new THREE.PlaneBufferGeometry(257, 193);
  180. //nut
  181. var texture5 = new THREE.TextureLoader().load(
  182. "//img14.360buyimg.com/uba/jfs/t1/21247/15/3196/859/5c24a472E1e9853ab/6bec8c6940288bc3.png"
  183. );
  184. var material5 = new THREE.MeshPhongMaterial({
  185. map: texture5,
  186. transparent: true,
  187. opacity: 1
  188. });
  189. var geometry5 = new THREE.PlaneBufferGeometry(57, 57);
  190. //fly
  191. var texture6 = new THREE.TextureLoader().load(
  192. "//img14.360buyimg.com/uba/jfs/t1/7300/6/10801/16348/5c24a487E98a8139b/27b70ff5b4ddaf1f.png"
  193. );
  194. var material6 = new THREE.MeshBasicMaterial({
  195. map: texture6,
  196. transparent: true,
  197. opacity: 0
  198. });
  199. var geometry6 = new THREE.PlaneBufferGeometry(851, 597);
  200. //flyContents
  201. var fly_texture_1_1 = new THREE.TextureLoader().load(
  202. "//img14.360buyimg.com/uba/jfs/t1/24669/35/3260/1611/5c24a4a9E4e0941ab/65a238650812a7a9.png"
  203. );
  204. var fly_materila_1_1 = new THREE.MeshBasicMaterial({
  205. map: fly_texture_1_1,
  206. transparent: true,
  207. opacity: 0
  208. });
  209. fly_materila_1_1.side = THREE.DoubleSide;
  210. var fly_geometry_1_1 = new THREE.PlaneBufferGeometry(77, 77);
  211. var fly_texture_1_2 = new THREE.TextureLoader().load(
  212. "//img10.360buyimg.com/uba/jfs/t1/16477/11/3111/645/5c24a4beE3668b9c1/f7f0b074baab071c.png"
  213. );
  214. var fly_materila_1_2 = new THREE.MeshBasicMaterial({
  215. map: fly_texture_1_2,
  216. transparent: true,
  217. opacity: 0
  218. });
  219. fly_materila_1_2.side = THREE.DoubleSide;
  220. var fly_geometry_1_2 = new THREE.PlaneBufferGeometry(54, 45);
  221. var fly_texture_2_1 = new THREE.TextureLoader().load(
  222. "//img12.360buyimg.com/uba/jfs/t1/8267/36/10934/1385/5c24a4d2E036f7ef1/d88f41ccd8d8f409.png"
  223. );
  224. var fly_materila_2_1 = new THREE.MeshBasicMaterial({
  225. map: fly_texture_2_1,
  226. transparent: true,
  227. opacity: 0
  228. });
  229. fly_materila_2_1.side = THREE.DoubleSide;
  230. var fly_geometry_2_1 = new THREE.PlaneBufferGeometry(103, 74);
  231. var fly_texture_2_2 = new THREE.TextureLoader().load(
  232. "//img20.360buyimg.com/uba/jfs/t1/9695/33/10662/1607/5c24a4e4Ee2f9bab1/18c829d3e46efc4e.png"
  233. );
  234. var fly_materila_2_2 = new THREE.MeshBasicMaterial({
  235. map: fly_texture_2_2,
  236. transparent: true,
  237. opacity: 0
  238. });
  239. fly_materila_2_2.side = THREE.DoubleSide;
  240. var fly_geometry_2_2 = new THREE.PlaneBufferGeometry(69, 79);
  241. var fly_texture_3_1 = new THREE.TextureLoader().load(
  242. "//img12.360buyimg.com/uba/jfs/t1/27128/26/3128/1206/5c24a4faEb2c39e88/825abcfc5fc19761.png"
  243. );
  244. var fly_materila_3_1 = new THREE.MeshBasicMaterial({
  245. map: fly_texture_3_1,
  246. transparent: true,
  247. opacity: 0
  248. });
  249. fly_materila_3_1.side = THREE.DoubleSide;
  250. var fly_geometry_3_1 = new THREE.PlaneBufferGeometry(52, 53);
  251. var fly_texture_3_2 = new THREE.TextureLoader().load(
  252. "//img12.360buyimg.com/uba/jfs/t1/29872/1/3250/1154/5c24a50eE15e06d48/2412d3d556bf7463.png"
  253. );
  254. var fly_materila_3_2 = new THREE.MeshBasicMaterial({
  255. map: fly_texture_3_2,
  256. transparent: true,
  257. opacity: 0
  258. });
  259. fly_materila_3_2.side = THREE.DoubleSide;
  260. var fly_geometry_3_2 = new THREE.PlaneBufferGeometry(73, 73);
  261. var plane = new THREE.Mesh(geometry, material);
  262. plane.position.x = 450;
  263. plane.position.y = 80;
  264. scene.add(plane);
  265. var plane1 = new THREE.Mesh(geometry1, material1);
  266. plane1.position.x = 220;
  267. plane1.position.y = -170;
  268. scene.add(plane1);
  269. var plane3 = new THREE.Mesh(geometry3, material3);
  270. plane3.position.x = 570;
  271. plane3.position.y = -12;
  272. scene.add(plane3);
  273. var plane5 = new THREE.Mesh(geometry5, material5);
  274. plane5.position.x = 505;
  275. plane5.position.y = 147;
  276. scene.add(plane5);
  277. var plane2 = new THREE.Mesh(geometry2, material2);
  278. plane2.position.x = 420;
  279. plane2.position.y = -65;
  280. scene.add(plane2);
  281. var plane4 = new THREE.Mesh(geometry4, material4);
  282. plane4.position.x = 770;
  283. plane4.position.y = -175;
  284. scene.add(plane4);
  285. var plane6 = new THREE.Mesh(geometry6, material6);
  286. plane6.position.x = 498;
  287. plane6.position.y = 23;
  288. scene.add(plane6);
  289. var planeFly_1_1 = new THREE.Mesh(fly_geometry_1_1, fly_materila_1_1);
  290. planeFly_1_1.position.x = 305;
  291. planeFly_1_1.position.y = 220;
  292. scene.add(planeFly_1_1);
  293. var planeFly_1_2 = new THREE.Mesh(fly_geometry_1_2, fly_materila_1_2);
  294. planeFly_1_2.position.x = 385;
  295. planeFly_1_2.position.y = 225;
  296. scene.add(planeFly_1_2);
  297. var planeFly_2_1 = new THREE.Mesh(fly_geometry_2_1, fly_materila_2_1);
  298. planeFly_2_1.position.x = 770;
  299. planeFly_2_1.position.y = 20;
  300. scene.add(planeFly_2_1);
  301. var planeFly_2_2 = new THREE.Mesh(fly_geometry_2_2, fly_materila_2_2);
  302. planeFly_2_2.position.x = 820;
  303. planeFly_2_2.position.y = 90;
  304. scene.add(planeFly_2_2);
  305. var planeFly_3_1 = new THREE.Mesh(fly_geometry_3_1, fly_materila_3_1);
  306. planeFly_3_1.position.x = 500;
  307. planeFly_3_1.position.y = -130;
  308. scene.add(planeFly_3_1);
  309. var planeFly_3_2 = new THREE.Mesh(fly_geometry_3_2, fly_materila_3_2);
  310. planeFly_3_2.position.x = 350;
  311. planeFly_3_2.position.y = -200;
  312. scene.add(planeFly_3_2);
  313. var flyTweenParams = {
  314. x: 565,
  315. y: 147,
  316. op: 0,
  317. r: 70,
  318. g: 139,
  319. b: 232
  320. };
  321. var flyTween = new TWEEN.Tween(flyTweenParams)
  322. .easing(TWEEN.Easing.Quadratic.Out)
  323. .to({ x: 505, y: 147, op: 1, r: 255, g: 255, b: 255 }, 3000)
  324. .onUpdate(function(p) {
  325. plane5.position.x = p.x;
  326. plane5.position.y = p.y;
  327. material5.opacity = p.op;
  328. ambientLight.color.setRGB(p.r / 255, p.g / 255, p.b / 255);
  329. })
  330. .start();
  331. var flyTweenBack = new TWEEN.Tween(flyTweenParams)
  332. .easing(TWEEN.Easing.Quadratic.Out)
  333. .to({ x: 565, y: 147, op: 0, r: 70, g: 139, b: 232 }, 3000)
  334. .onUpdate(function(p) {
  335. plane5.position.x = p.x;
  336. plane5.position.y = p.y;
  337. material5.opacity = p.op;
  338. ambientLight.color.setRGB(p.r / 255, p.g / 255, p.b / 255);
  339. });
  340. var flyContentsOp = {
  341. op: 0
  342. };
  343. var flyContentTween = new TWEEN.Tween(flyContentsOp)
  344. .easing(TWEEN.Easing.Quadratic.Out)
  345. .to({ op: 1 }, 2500)
  346. .onUpdate(function(p) {
  347. fly_materila_1_1.opacity = fly_materila_1_2.opacity = fly_materila_2_1.opacity = fly_materila_2_2.opacity = fly_materila_3_1.opacity = fly_materila_3_2.opacity = material6.opacity =
  348. p.op;
  349. });
  350. var flyContentTweenBack = new TWEEN.Tween(flyContentsOp)
  351. .easing(TWEEN.Easing.Quadratic.Out)
  352. .to({ op: 0 }, 2000)
  353. .onUpdate(function(p) {
  354. fly_materila_1_1.opacity = fly_materila_1_2.opacity = fly_materila_2_1.opacity = fly_materila_2_2.opacity = fly_materila_3_1.opacity = fly_materila_3_2.opacity = material6.opacity =
  355. p.op;
  356. });
  357. flyTween.chain(flyContentTween);
  358. //flyContentTween.chain(flyTween);
  359. flyContentTween.chain(flyContentTweenBack);
  360. flyContentTweenBack.chain(flyTweenBack);
  361. flyTweenBack.chain(flyTween);
  362. //flyContentTweenBack.chain(flyContentTween);
  363. //监听事件
  364. document
  365. .querySelector("#mouseDiv")
  366. .addEventListener("mousemove", onDocumentMouseMove, false);
  367. window.addEventListener("resize", onWindowResize, false);
  368. var timer = null;
  369. function onWindowResize(event) {
  370. SCREEN_HEIGHT = window.innerHeight;
  371. SCREEN_WIDTH = window.innerWidth;
  372. camera.aspect = SCREEN_WIDTH / SCREEN_HEIGHT;
  373. camera.updateProjectionMatrix();
  374. renderer.setSize(SCREEN_WIDTH, SCREEN_HEIGHT);
  375. }
  376. function onDocumentMouseMove(event) {
  377. clearTimeout(timer);
  378. timer = setTimeout(function() {
  379. if (tween) {
  380. tween.stop();
  381. }
  382. if (event.clientX - mouseX > 100) {
  383. tween = new TWEEN.Tween(planeObj)
  384. .easing(TWEEN.Easing.Quadratic.Out)
  385. .to({ x: 520, y: 150 }, 1000)
  386. .onUpdate(function(p) {
  387. plane.position.x = p.x;
  388. plane.position.y = p.y;
  389. })
  390. .start();
  391. } else if (event.clientX - mouseX < -100) {
  392. tween = new TWEEN.Tween(planeObj)
  393. .easing(TWEEN.Easing.Quadratic.Out)
  394. .to({ x: 450, y: 80 }, 1000)
  395. .onUpdate(function(p) {
  396. plane.position.x = p.x;
  397. plane.position.y = p.y;
  398. })
  399. .start();
  400. }
  401. tween.start();
  402. mouseX = event.clientX;
  403. mouseY = event.clientY;
  404. }, 100);
  405. }
  406. function render() {
  407. var timer = Date.now() * 0.0001;
  408. requestAnimationFrame(render);
  409. TWEEN.update();
  410. //渲染,输出
  411. renderer.render(scene, camera);
  412. }
  413. render();
  414. });
  415. }
  416. },
  417. watch: {},
  418. computed: {},
  419. created() {},
  420. mounted() {
  421. this.$nextTick(() => {
  422. //获取浏览器宽度
  423. let windowWidth = document.body.clientWidth;
  424. if(windowWidth<=990){
  425. this.isSmall = true;
  426. }
  427. this.notWebgl = true;
  428. // if (!Detector.webgl) {
  429. // //Detector.addGetWebGLMessage();
  430. // } else {
  431. // this.notWebgl = false;
  432. // this.threeAnimation();
  433. // }
  434. });
  435. },
  436. destroyed() {}
  437. };
  438. </script>
  439. <style lang="scss" scoped>
  440. @keyframes fadeInLeft {
  441. from {
  442. opacity: 0;
  443. transform: translate3d(-100%,0,0);
  444. }
  445. to{
  446. opacity: 1;
  447. transform: translate3d(0,0,0);
  448. }
  449. }
  450. @keyframes leafShake {
  451. form,to{
  452. transform:rotate(0);
  453. transform-origin: bottom;
  454. }
  455. 20%,
  456. 60%{
  457. transform: rotate(2deg);
  458. transform-origin: bottom;
  459. }
  460. 40%,
  461. 80%{
  462. transform: rotate(-2deg);
  463. transform-origin: bottom;
  464. }
  465. }
  466. @keyframes fadeInRight {
  467. from {
  468. opacity: 0;
  469. transform: translate3d(100%,0,0);
  470. }
  471. to{
  472. opacity: 1;
  473. transform: translate3d(0,0,0);
  474. }
  475. }
  476. @keyframes fadeIn{
  477. from {
  478. opacity: 0;
  479. }
  480. to {
  481. opacity: 1;
  482. }
  483. }
  484. .container{
  485. position: relative;
  486. min-width:1210px;
  487. }
  488. .wrapper {
  489. position: absolute;
  490. top: 0;
  491. right: 0;
  492. bottom: 0;
  493. left: 0;
  494. .header {
  495. top: 0;
  496. min-width: 990px;
  497. width: 100%;
  498. z-index: 999;
  499. height: 64px;
  500. display: flex;
  501. align-items:center;
  502. position: relative;
  503. }
  504. .menu {
  505. position: absolute;
  506. top: 0;
  507. right: 14%;
  508. width: 376px;
  509. font-size: 12px;
  510. li {
  511. float: left;
  512. width: 70px;
  513. text-align: center;
  514. height: 64px;
  515. line-height: 64px;
  516. cursor: pointer;
  517. color: #fff;
  518. & > a{
  519. display:block;
  520. height:100%;
  521. line-height: 64px;
  522. }
  523. a {
  524. color: #fff;
  525. text-decoration: none;
  526. }
  527. }
  528. select {
  529. width: 74px;
  530. height: 28px;
  531. margin-top: 18px;
  532. margin-left: 20px;
  533. font-size: 12px;
  534. }
  535. li:hover {
  536. border-bottom: 2px solid #fff;
  537. }
  538. .github-icon {
  539. display: inline-block;
  540. height: 26px;
  541. width: 26px;
  542. font-size: 0;
  543. background: url("./asset/css/i/github.png") 0 0 no-repeat;
  544. vertical-align: middle;
  545. position: relative;
  546. top: -1px;
  547. margin-left: 35px;
  548. cursor: pointer;
  549. }
  550. }
  551. .logo {
  552. height: 100%;
  553. line-height: 64px;
  554. float: left;
  555. width: 245px;
  556. font-size: 0;
  557. position: relative;
  558. s {
  559. background: url(./asset/css/i/nut.png) 0 0 no-repeat;
  560. background-size:contain;
  561. height: 46px;
  562. width: 120px;
  563. display: inline-block;
  564. position: absolute;
  565. top: 50%;
  566. left: 50px;
  567. margin-top: -23px;
  568. }
  569. }
  570. .search {
  571. margin: 20px 0;
  572. display: inline-block;
  573. border-left: 1px solid #d8d8d8;
  574. padding-left: 84px;
  575. position: relative;
  576. &:before {
  577. content: "";
  578. display: inline-block;
  579. background: url(./asset/css/i/search.png) 0 0 no-repeat;
  580. height: 22px;
  581. width: 22px;
  582. position: absolute;
  583. top: 50%;
  584. margin-top: -11px;
  585. left: 40px;
  586. }
  587. .search-input {
  588. border: none;
  589. height: 24px;
  590. line-height: 24px;
  591. font-size: 12px;
  592. outline: none;
  593. width: 200px;
  594. background: transparent;
  595. }
  596. }
  597. .content {
  598. padding:15% 0 0 8.8%;
  599. z-index: 999;
  600. position: relative;
  601. .mouseDiv {
  602. height: 300px;
  603. width: 500px;
  604. //background:#ccc;
  605. position: absolute;
  606. top: 50%;
  607. left: 50%;
  608. margin-left: -250px;
  609. margin-top: -50px;
  610. }
  611. .title{
  612. font-size: 42px;
  613. color:#333;
  614. font-weight: bold;
  615. animation: fadeInLeft 1s both;
  616. }
  617. .sub-title{
  618. font-size:24px;
  619. color:#333;
  620. padding-top:30px;
  621. padding-bottom:100px;
  622. animation: fadeInLeft 1s both 0.5s;
  623. }
  624. .btn,.blue-btn{
  625. border:1px solid #5396ff;
  626. background:#fff;
  627. color:#5396ff;
  628. width:130px;
  629. height:40px;
  630. line-height:40px;
  631. text-align: center;
  632. display: inline-block;
  633. font-size:14px;
  634. text-decoration: none;
  635. border-radius: 20px;
  636. animation: fadeInLeft 1s both 1.2s;
  637. }
  638. .blue-btn {
  639. color: #fff;
  640. background: #5396ff;
  641. margin-right: 40px;
  642. }
  643. }
  644. .qrcode {
  645. background: none;
  646. width: auto;
  647. margin: 0;
  648. opacity: 1;
  649. &.top-qr {
  650. a {
  651. left: -65px;
  652. top:60px;
  653. }
  654. }
  655. a {
  656. position: absolute; //display: none;
  657. top: 44px;
  658. width: 200px;
  659. height: 240px;
  660. transform: scale(0.5);
  661. transform-origin: 50% top 0;
  662. transition: all 100ms ease-in-out 50ms;
  663. background: url("./asset/css/i/kuang.png") no-repeat;
  664. background-size: 200px;
  665. text-decoration: none;
  666. font-style: normal;
  667. text-align: center;
  668. left: -35px;
  669. overflow: hidden;
  670. pointer-events: none;
  671. span {
  672. display: block;
  673. overflow: hidden;
  674. color: #666;
  675. font-size: 14px;
  676. text-align: center;
  677. height: 45px;
  678. width: 100%;
  679. line-height: 60px;
  680. }
  681. img {
  682. opacity: 0.8;
  683. width: 166px;
  684. height: 166px;
  685. }
  686. }
  687. &:hover {
  688. opacity: 1;
  689. a {
  690. display: inline-block;
  691. opacity: 1;
  692. transform: scale(1);
  693. }
  694. }
  695. }
  696. }
  697. .css-animation{
  698. position: absolute;
  699. top:0;
  700. right:0;
  701. transform: scale3d(1.06,1.06,1.06);
  702. .blue-bg{
  703. background:url('//img12.360buyimg.com/uba/jfs/t1/22824/40/3136/6504/5c24a3f4E76fdafde/802d02d1ec5d3d55.png') 0 0 no-repeat;
  704. height:757px;
  705. width:963px;
  706. background-size:100% 100%;
  707. position: absolute;
  708. right:0;
  709. top:0;
  710. .phone{
  711. background:url('//img10.360buyimg.com/uba/jfs/t1/19171/19/3175/23282/5c24a440Ee2a94261/45321aeaf173f237.png') 0 0 no-repeat;
  712. height:419px;
  713. width:227px;
  714. background-size:100% 100%;
  715. position:absolute;
  716. right:350px;
  717. top:250px;
  718. display: inline-block;
  719. }
  720. .goods{
  721. background:url('//img14.360buyimg.com/uba/jfs/t1/21115/40/3224/5652/5c24a411E03ef9eb6/83781b97e59da905.png') 0 0 no-repeat;
  722. height:165px;
  723. width:117px;
  724. background-size:100% 100%;
  725. position:absolute;
  726. display:inline-block;
  727. top:500px;
  728. right:710px;
  729. }
  730. .people{
  731. background:url('//img12.360buyimg.com/uba/jfs/t1/9330/16/10894/8662/5c24a42aE708692b3/14455d20eca1ccee.png');
  732. width:184px;
  733. height:334px;
  734. background-size:100% 100%;
  735. position:absolute;
  736. top:334px;
  737. right:500px;
  738. }
  739. .flower{
  740. position: absolute;
  741. right:195px;
  742. top:510px;
  743. height:160px;
  744. width:208px;
  745. .leaf_1{
  746. position: absolute;
  747. background:url(./asset/css/i/leaf_1.png) 0 0 no-repeat;
  748. height:113px;
  749. width:60px;
  750. background-size:100% 100%;
  751. bottom:36px;
  752. right:79px;
  753. animation:leafShake 8s infinite ;
  754. }
  755. .leaf_2{
  756. position: absolute;
  757. background:url(./asset/css/i/leaf_2.png) 0 0 no-repeat;
  758. height:64px;
  759. width:66px;
  760. background-size:100% 100%;
  761. bottom:36px;
  762. right:35px;
  763. animation:leafShake 8s infinite 0.6s;
  764. }
  765. .leaf_3{
  766. position: absolute;
  767. background:url(./asset/css/i/leaf_3.png) 0 0 no-repeat;
  768. height:28px;
  769. width:64px;
  770. background-size:100% 100%;
  771. bottom:38px;
  772. right:42px;
  773. //animation:leafShake 3s infinite 0.5s;
  774. }
  775. .leaf_4{
  776. position: absolute;
  777. background:url(./asset/css/i/leaf_4.png) 0 0 no-repeat;
  778. height:113px;
  779. width:99px;
  780. background-size:100% 100%;
  781. bottom:38px;
  782. left:2px;
  783. //animation:leafShake 3s infinite 0.2s;
  784. }
  785. .flowerpot{
  786. position: absolute;
  787. background:url(./asset/css/i/flowerpot.png) 0 0 no-repeat;
  788. height:42px;
  789. width:130px;
  790. bottom:0;
  791. right:5px;
  792. background-size:100% 100%;
  793. }
  794. }
  795. .nut{
  796. position: absolute;
  797. height:46px;
  798. width:46px;
  799. background:url(./asset/css/i/nut-icon.png) 0 0 no-repeat;
  800. background-size:100% 100%;
  801. top:308px;
  802. right:493px;
  803. animation:fadeInRight 2s both;
  804. }
  805. .fengche{
  806. position:absolute;
  807. background:url(./asset/css/i/fengche.png) 0 0 no-repeat;
  808. background-size:100% 100%;
  809. width:679px;
  810. height:476px;
  811. top:195px;
  812. right:180px;
  813. animation: fadeIn 1s both 2s;
  814. }
  815. }
  816. }
  817. </style>