BigImg.vue 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <template>
  2. <!-- 过渡动画 -->
  3. <transition name="fade">
  4.    <div class="img-view" @click="bigImg">
  5.      <!-- 遮罩层 -->
  6.      <div class="img-layer"></div>
  7.      <div class="img">
  8.        <img :src="imgSrc">
  9.      </div>
  10.   </div>
  11.   </transition>
  12. </template>
  13. <script>
  14.   export default {
  15.     props: ['imgSrc'],//接受图片地址
  16.     methods: {
  17.       bigImg() {
  18.       // 发送事件
  19.         this.$emit('clickit')
  20.       }
  21.     }
  22.   }
  23. </script>
  24. <style scoped>
  25. .fade-enter-active,.fade-leave-active {
  26. ransition: all .2s linear;
  27. transform: translate3D(0, 0, 0);
  28. }
  29. .fade-enter,.fade-leave-active {
  30. transform: translate3D(100%, 0, 0);
  31. }
  32. /* bigimg */
  33. .img-view {
  34. position: inherit;
  35. width: 100%;
  36. height: 100%;
  37. }
  38. /*遮罩层样式*/.img-view .img-layer {
  39. position: fixed;
  40. z-index: 999;
  41. top: 0;
  42. left: 0;
  43. background: rgba(0, 0, 0, 0.7);
  44. width: 100%;
  45. height: 100%;
  46. overflow: hidden;
  47. }/*不限制图片大小,实现居中*/
  48. .img-view .img img {
  49. max-width: 100%;
  50. display: block;
  51. position: absolute;
  52. left: 0;
  53. right: 0;
  54. margin: auto;
  55. z-index: 1000;
  56. }
  57. </style>