Html给网页添加自定义水印内容

html 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>html页面增加水印</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        body {
            overflow-x: hidden;
        }
        .table-sy {
            width: 100%;
            height: 100%;
            position: absolute;
            pointer-events: none;
			/** 水印字体颜色 */
            color: #d2d6d9;
            z-index: 99999999999;
        }
        .table-sy>div {
            display: flex;
            align-items: center;
            justify-content: center;
			/** 水印倾斜的角度 */
            transform: rotate(-20deg);
			/** 水印文字大小 */
			font-size: 25px;
            float: left;
        }
        .content {
            width: 100%;
            height: 100vh;
			/** 内容背景颜色 */
            background: #FFFFFF;
        }
    </style>
</head>
 
<body>
    <div id="sy" class="table-sy"></div>
    <div class="content">
		<span>内容</span>
	</div>
</body>
<script type="text/javascript">

    loadSy();   //一进入页面就调用一下函数
    window.onresize = function () {    //页面大小发生改变
        loadSy();
    }
    /**
     * 页面添加水印
     */
    function loadSy() {
		/** 每个水印块的大小 */
        var config = {
            tw: 300, //内容高度
            th: 150,  // 内容宽度
            c: 130 // 为了避免页面下方有多余的空白, 少显示一行。所以在计算每个水印高度的时候,需要加个差值,使水印分布的更均匀(一般为内容高度的一半即可)
        }
        var dom = document.getElementById("sy");
        var data = {
            name: "水印的内容",
            code: "",
            day: "2023年12月18日12:41:58"
        }
        var width = document.body.offsetWidth;
        dom.style.width = width + "px";
        var height = document.body.offsetHeight;
        dom.style.height = height + "px";
        var wnum = parseInt(width / config.tw) || 1;
        var hnum = parseInt(height / config.th) || 1;
        var wc = (width - wnum * config.tw) / wnum - 1 || 0;
        var hc = (height - hnum * config.th + config.c) / hnum - 1 || 0;
        var num = wnum * (hnum - 1);
        var html = [];
        for (var i = 0; i < num; i++) {
            html.push('<div style="width: ' + (config.tw + wc) + 'px;height: ' + (config.th + hc) + 'px">', data.name, '<br/>', data.code, '<br/>', data.day, '</div>');
        }
        dom.innerHTML = html.join("");
    }
</script>
</html>

效果

相关推荐
90后的晨仔3 小时前
从 H5 到 uni-app:一篇写给前端小白的"翻译指南"
前端·vue.js·前端框架
陈随易3 小时前
moon,apt和yum之外linux系统命令安装新选择
前端·后端·程序员
IT小盘4 小时前
13-企业Prompt模板-角色任务约束与输出格式
java·前端·prompt
徐小夕4 小时前
开源!我用SQLite + DuckDB打造了一款可视化AI问数平台
前端·算法·github
leslie1185 小时前
babel笔记
前端
用户059540174465 小时前
Redis 记忆存储踩坑实录:一个并发写入 Bug 让我排查了 4 小时
前端·css
小徐_23336 小时前
Wot UI 2.3.0 发布:二维码组件来了,Open Wot 与 wot-starter 同步更新
前端·微信小程序·uni-app
kyriewen6 小时前
Claude自己跑出去hack了3家公司——我为什么还在用它写代码
前端·ai编程·claude
IT_陈寒6 小时前
SpringBoot自动配置的坑,这次真踩疼我了
前端·人工智能·后端
子兮曰7 小时前
AI 浏览器 Agent 的安全困局:当自动化工具可以偷走你的登录态
前端·人工智能·后端