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>

效果

相关推荐
z***75152 小时前
【Springboot3+vue3】从零到一搭建Springboot3+vue3前后端分离项目之后端环境搭建
android·前端·后端
fruge3 小时前
仿写优秀组件:还原 Element Plus 的 Dialog 弹窗核心逻辑
前端
an86950013 小时前
vue新建项目
前端·javascript·vue.js
w***95494 小时前
SQL美化器:sql-beautify安装与配置完全指南
android·前端·后端
顾安r5 小时前
11.22 脚本打包APP 排错指南
linux·服务器·开发语言·前端·flask
万邦科技Lafite5 小时前
1688图片搜索商品API接口(item_search_img)使用指南
java·前端·数据库·开放api·电商开放平台
yinuo6 小时前
网页也懂黑夜与白天:系统主题自动切换
前端
Coding_Doggy6 小时前
链盾shieldchain | 项目管理、DID操作、DID密钥更新消息定时提醒
java·服务器·前端
用户21411832636026 小时前
dify案例分享-国内首发!手把手教你用Dify调用Nano Banana2AI画图
前端
wa的一声哭了7 小时前
Webase部署Webase-Web在合约IDE页面一直转圈
linux·运维·服务器·前端·python·区块链·ssh