当前位置:   article > 正文

vue3前端开发,模拟微信红包封面领取样式-旋转+弹屏+逐渐浮现_vue+uview2.0怎么仿微信红包封面

vue+uview2.0怎么仿微信红包封面

vue3前端开发,模拟微信红包封面领取样式-旋转+弹屏+逐渐浮现!今天花费了一个上午的时间摸索了这个代码。分享给大家一起学习。微信红包封面的领取活动样式。会旋转,渐渐浮现,弹屏等都有。

大家自己把它图片改成自己的图片地址就行了。


  1. <script setup>
  2. import {ref,onMounted} from 'vue'
  3. const imageUrl = ref('src/assets/images/hongbao2.png')
  4. //isRotate控制根容器的旋转
  5. const isRotate = ref(false)
  6. //vie2控制红包的翻转
  7. const isShow = ref(false)
  8. const isHidden = ref(false)
  9. onMounted(()=>{
  10. setTimeout(() => {
  11. isRotate.value=true
  12. }, 500); // 设置延迟为2
  13. })
  14. const view = ()=>{
  15. console.log('触发了点击事件');
  16. //显示隐藏的红包
  17. isShow.value =true
  18. //隐藏背景红包图片
  19. isHidden.value =true
  20. }
  21. </script>
  22. <template>
  23. <p>旋转测试</p>
  24. <div :class="[isShow?'rotatx_hongbao_show':'rotatx_hongbao_init']" @click="rotatxHongbao">
  25. <img :src="imageUrl" alt="红包1"/>
  26. </div>
  27. <div :class="[isRotate?'rotatx':'init']" @click="view" :style="[isHidden?'rotatx:hover':'']">
  28. <div class="hongbao1" >
  29. <img :src="imageUrl" alt="红包1"/>
  30. </div>
  31. <div class="hongbao2" >
  32. <img :src="imageUrl" alt="红包2"/>
  33. </div>
  34. <div class="hongbao3" >
  35. <img :src="imageUrl" alt="红包3"/>
  36. </div>
  37. <div class="hongbao4" >
  38. <img :src="imageUrl" alt="红包4"/>
  39. </div>
  40. <div class="hongbao5">
  41. <img :src="imageUrl" alt="红包5"/>
  42. </div>
  43. <div class="hongbao6" >
  44. <img :src="imageUrl" alt="红包6"/>
  45. </div>
  46. </div>
  47. </template>
  48. <style scoped>
  49. .init {
  50. margin-top: 100% ;
  51. margin-left: 105%;
  52. display: flex;/*使用这个模式方便旋转*/
  53. position: relative;
  54. width: 300px; /* 根据实际情况调整容器大小 */
  55. height: 300px; /* 根据实际情况调整容器高度 */
  56. background-color: rgba(255,0,0,0.2);
  57. /* transition: 1s ease-in-out; */
  58. }
  59. .rotatx{
  60. margin-top: 80%;
  61. display: flex;/*使用这个模式方便旋转*/
  62. position: relative;
  63. width: 300px; /* 根据实际情况调整容器大小 */
  64. height: 300px; /* 根据实际情况调整容器高度 */
  65. background-color: rgba(231, 203, 203, 0.2);
  66. transform: rotate(360deg);
  67. transition: 2s ease-in-out;
  68. }
  69. .rotatx:hover{
  70. margin-top: 80%;
  71. display: flex;/*使用这个模式方便旋转*/
  72. position: relative;
  73. opacity: 0;
  74. width: 300px; /* 根据实际情况调整容器大小 */
  75. height: 300px; /* 根据实际情况调整容器高度 */
  76. background-color: rgba(231, 203, 203, 0.2);
  77. transform: rotate(360deg);
  78. transition: 2s ease-in-out;
  79. }
  80. .rotatx_hongbao_init{
  81. /**无论点击谁,都是该红包出现,渐渐出现,放大 */
  82. position: absolute;
  83. top: 28%;
  84. left: 30%;
  85. width:320px;
  86. height: 320px;
  87. opacity: 0;
  88. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  89. transition: 1s linear;
  90. z-index: 999;
  91. }
  92. .rotatx_hongbao_show{
  93. /**无论点击谁,都是该红包出现,渐渐出现,放大 */
  94. position: absolute;
  95. top: 23%;
  96. left: 23%;
  97. width:320px;
  98. height: 320px;
  99. opacity: 1;
  100. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  101. transform: scale(2.5);
  102. transition: 2s linear;
  103. z-index: 999;
  104. }
  105. .rotatx .hongbao1 {
  106. position: absolute;
  107. top: 45%;
  108. left: 40%;
  109. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  110. transform: rotate(60deg);
  111. }
  112. .rotatx .hongbao2 {
  113. position: absolute;
  114. top: 50%;
  115. left: 53%;
  116. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  117. transform: rotate(120deg);
  118. }
  119. .rotatx .hongbao3 {
  120. position: absolute;
  121. top: 63%;
  122. left: 57%;
  123. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  124. transform: rotate(180deg);
  125. }
  126. .rotatx .hongbao4 {
  127. position: absolute;
  128. top: 74%;
  129. left: 50%;
  130. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  131. transform: rotate(234deg);
  132. }
  133. .rotatx .hongbao5 {
  134. position: absolute;
  135. top: 68%;
  136. left: 35%;
  137. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  138. transform: rotate(300deg);
  139. }
  140. .rotatx .hongbao6 {
  141. position: absolute;
  142. top: 55%;
  143. left:31%;
  144. transform-origin: 0 -30%; /* 指定旋转基点为图片底部居中位置 */
  145. transform: rotate(360deg);
  146. }
  147. </style>

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/284148
推荐阅读
相关标签
  

闽ICP备14008679号