wm-watermark.vue 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <template>
  2. <!-- 水印 -->
  3. <view class="watermark">
  4. <block v-for="(item,index) in num" :key="index">
  5. <view class="watermark-text" v-if="text != ''" :style="{opacity:opacity}">{{text}}</view>
  6. <image class="watermark-img" :src="imgUrl" mode="aspectFill" v-if="imgUrl !='' && text ==''" :style="{opacity:opacity}"></image>
  7. </block>
  8. </view>
  9. </template>
  10. <script>
  11. export default {
  12. name:'wm-watermark',
  13. props:{
  14. text:{ //设置水印文字
  15. type:String,
  16. default:''
  17. },
  18. imgUrl:{ //设置水印图片
  19. type:String,
  20. default:''
  21. },
  22. opacity:{ //设置透明度
  23. type:[Number,String],
  24. default:0.6
  25. },
  26. num:{ //设置水印数量
  27. type:Number,
  28. default:20
  29. }
  30. },
  31. data() {
  32. return {
  33. };
  34. }
  35. }
  36. </script>
  37. <style lang="scss">
  38. .watermark{
  39. position: fixed;
  40. width: 100%;
  41. height: 100%;
  42. top:0;
  43. left: 0;
  44. bottom: 0;
  45. right: 0;
  46. pointer-events: none;
  47. z-index: 9999999;
  48. display: flex;
  49. flex-wrap: wrap;
  50. overflow: hidden;
  51. .watermark-text{
  52. width: 230upx;
  53. height: 230upx;
  54. display: flex;
  55. justify-content: center;
  56. align-items: center;
  57. transform: rotate(-45deg);
  58. color: #ddd;
  59. font-size: 32upx;
  60. white-space: nowrap;
  61. }
  62. .watermark-img{
  63. width: 230upx;
  64. height: 230upx;
  65. z-index: 1;
  66. }
  67. }
  68. </style>