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>

效果

相关推荐
夜郎king15 分钟前
HTML5 SVG 实现日出日落动画与实时天气可视化
前端·html5·svg 日出日落
夏幻灵1 小时前
HTML5里最常用的十大标签
前端·html·html5
Mr Xu_1 小时前
Vue 3 中 watch 的使用详解:监听响应式数据变化的利器
前端·javascript·vue.js
未来龙皇小蓝2 小时前
RBAC前端架构-01:项目初始化
前端·架构
程序员agions2 小时前
2026年,微前端终于“死“了
前端·状态模式
万岳科技系统开发2 小时前
食堂采购系统源码库存扣减算法与并发控制实现详解
java·前端·数据库·算法
程序员猫哥_2 小时前
HTML 生成网页工具推荐:从手写代码到 AI 自动生成网页的进化路径
前端·人工智能·html
龙飞052 小时前
Systemd -systemctl - journalctl 速查表:服务管理 + 日志排障
linux·运维·前端·chrome·systemctl·journalctl
我爱加班、、2 小时前
Websocket能携带token过去后端吗
前端·后端·websocket
AAA阿giao2 小时前
从零拆解一个 React + TypeScript 的 TodoList:模块化、数据流与工程实践
前端·react.js·ui·typescript·前端框架