App.vue 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. <template>
  2. <div id="app">
  3. <transition name="fade">
  4. <keep-alive>
  5. <router-view v-if="$route.meta.keepAlive" />
  6. </keep-alive>
  7. </transition>
  8. <transition name="fade">
  9. <router-view v-if="!$route.meta.keepAlive"/>
  10. </transition>
  11. </div>
  12. </template>
  13. <style lang="less">
  14. @import url('./assets/commonLess/common');
  15. #app {
  16. font-family: 'Avenir', Helvetica, Arial, sans-serif;
  17. -webkit-font-smoothing: antialiased;
  18. -moz-osx-font-smoothing: grayscale;
  19. background: #F3F4F8;
  20. overflow-x: hidden;
  21. overflow-y: auto;
  22. user-select: none;
  23. -webkit-text-size-adjust: none !important;
  24. }
  25. .slide-right-enter-active,
  26. .slide-right-leave-active,
  27. .slide-left-enter-active,
  28. .slide-left-leave-active {
  29. -webkit-will-change: transform;
  30. will-change: transform;
  31. transition: all 500ms;
  32. position: fixed;
  33. top: 0;
  34. left: 0;
  35. right: 0;
  36. }
  37. .slide-right-enter {
  38. opacity: 0;
  39. transform: translate3d(-100%, 0, 0);
  40. }
  41. .slide-right-leave-active {
  42. opacity: 0;
  43. transform: translate3d(100%, 0, 0);
  44. }
  45. .slide-left-enter {
  46. opacity: 0;
  47. transform: translate3d(100%, 0, 0);
  48. }
  49. .slide-left-leave-active {
  50. opacity: 0;
  51. transform: translate3d(-100%, 0, 0);
  52. }
  53. .fade-enter-active, .fade-leave-active {
  54. transition: opacity .5s
  55. }
  56. .fade-enter, .fade-leave-active {
  57. opacity: 0
  58. }
  59. body {
  60. -webkit-text-size-adjust: none !important;
  61. }
  62. </style>