码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • vue页面添加水印(可用于H5,APP)


    vue页面添加水印

    • 背景
    • 实现
      • 新建vue组件
      • 使用
      • 效果
    • 尾巴

    背景

    最近实现了一个小功能,就是给页面添加背景水印。实现思路就是定义一个宽高充满屏幕的组件,然后使用绝对定位并通过层级控制让水印显示在页面的最前端。

    实现

    代码相对简单,相信有点vue基础的人都能看懂

    新建vue组件

    watermark.vue

    <template>
        <view class="make">
            <view class="list">
            	<!--这里循环生成水印文字-->
                <view class="item" v-for="i in 300">
                    <text>{{ info }}</text>
                </view>
            </view>
        </view>
    </template>
    
    <script setup>
    	const props = defineProps({
    	    info: {
    	        type: String,
    	        default: '默认水印'
    	    }
    	})
    </script>
    <style lang="scss" scoped>
        .make {
            position: fixed;
            width: 100%;
            height: 100%;
            top: 0;
            left: 0;
            z-index: 9999;
            background: rgba(0, 0, 0, 0);
            pointer-events: none;
    
            .list {
                width: 500%;
                height: 400%;
                position: absolute;
                top: -50%;
                left: -50%;
                transform: rotate(-45deg);//旋转水印
                display: flex;
                flex-wrap: wrap;
                justify-content: space-between;
                pointer-events: none;
    
                .item {
                    font-size: 50rpx;
                    color: rgba(220, 220, 220, 0.3);
                    font-weight: bold;
                    padding: 30rpx;
                    pointer-events: none;//这句很关键,让事件穿透
                }
            }
        }
    </style>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52

    使用

    新建任意页面,然后引入上一步中的watermark.vue组件

    <template>
    	<view>
    		<button>test</button>
    		<view>水印测试</view>
    		<Ywatermark info="吗咿呀嘿"></Ywatermark>
    	</view>
    </template>
    <script>
    	import Ywatermark from '../watermark.vue'
    	//这里省略其他无关代码
    	...
    </script>
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    效果

    H5页面运行效果

    在这里插入图片描述

    尾巴

    今天实现效果较为简单,在H5页面效果最佳,APP上存在有些原生控件层级最高的问题,就会被遮挡,这个问题可以使用nvue尝试下,理论上pc端vue项目也能使用。
    希望今天的文章能给大家帮助,如果喜欢我的文章,欢迎给我点赞,评论,关注,谢谢大家!

  • 相关阅读:
    【C语言】模拟实现内存函数
    山海鲸汽车需求调研系统:智慧决策的关键一步
    iApp祁天社区UI成品源码 功能齐全的社区应用
    《程序员面试金典(第6版)》面试题 02.05. 链表求和(构建一个新链表)
    基于React 实现井字棋
    python -opencv形态学操作
    【Mac】Listen 1 for Mac(最强的音乐搜索工具)软件介绍
    YOLOv5、YOLOv8改进:ConvNeXt(backbone改为ConvNextBlock)
    事件循环面试题如何去回答?
    生成网络论文阅读styleGAN1(一):论文速览
  • 原文地址:https://blog.csdn.net/abs625/article/details/132661803
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号