一种超简易的书法字帖的生成打印工具

博主因孩子学校有写字练习需求,自制了一个写字帖。文中分享了该写字帖的在线预览地址,还给出了html、css、jq代码,以及背景底图。此外提到边框和底图颜色本可做成可配参数,大神可改css实现不同颜色,也可删去页面上部无关内容。

因为孩子在学校现在有练习写字的需求,网上买的还不一定是随堂的,所以就自己创建了一个,仓促了一些,可能存在一些偏差,但终归不太影响使用,现在把拙作贴出来,仅供大神参考

预览地址和直链有A4和A5两个尺寸,可以直接在线打表头、打印哦  ^_^

在线预览

预览地址:点击预览 

直链:直链

一、html代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>简易书法快捷打印(第一版)</title>
    <script src="js/jquery.1.8.3.min.js"></script>
    <script src="js/jquery.jqprint-0.3.js"></script>
</head>
<body class="page">
<div class="content">
    <h1>&nbsp;<input class="name" type="text" placeholder="书法练习字帖">&nbsp;</h1>
    <label><input class="copyright" type="text" placeholder="独行者">©版权所有</label><input class="title" type="text" placeholder="请在此输入标题">
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <div class="main">
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
        <div class="cell"><input type="text"></div>
    </div>
    <label class="tips">注意事项:</label>
    <label class="tips">1、当前为简易版本,打印页面时,请勾选打印背景图</label>
    <label class="tips">2、建议使用当前最新版本浏览器打开,请勿使用IE</label>
    <h3 class="print" onclick="doPrint()">打印</h3>
</div>
<style type="text/css">
    * {
        border: 0;
        margin: 0;
        padding: 0;
        font-family: '华文楷体';
        /*font-weight: bold;*/
    }

    @media print {
        body {
            -webkit-print-color-adjust: exact;
        }

        div {
            -webkit-print-color-adjust: exact;
        }
    }

    body, html {
        width: 100%;
        height: 100%;
    }

    .page {

    }

    .content {
        width: 600px;
        height: 800px;
        margin: 0 auto;
        /*background: url("img/bg_atm01.jpg") no-repeat 100% 100%;
        background-size: 100% 100%;
        opacity: 0.1;*/
    }

    .content h1 {
        margin-top: 20px;
        text-align: center;
    }

    .content .name {
        text-align: center;
        font-size: 32px;
    }

    .content .copyright {
        text-align: left;
        font-size: 18px;
        width: 66px;
    }

    .content .title {
        font-family: '华文新魏';
        font-size: 18px;
        float: right;
        color: dimgray;
        text-align: right;
    }

    .content .print {
        text-align: center;
        cursor: pointer;
        background-color: white;
        border: 1px #5e5e5e;
    }

    .content .print:hover {
        background-color: crimson;
    }

    .content .tips {
        display: block;
        color: #5e5e5e;
    }

    .main {
        display: flex;
        flex: 0 0;
        border-right: 1px blue;
    }

    .main div.cell {
        display: flex;
        width: 50px;
        height: 50px;
        flex: 0 0 50px;
        background: url("img/miz_bg_blue.png") no-repeat center center;
        background-size: 100% 100%;
        box-shadow: inset 0 0 0 1px blue;
        margin-top: 2px;
    }

    .main div.cell input {
        font-size: 38px;
        width: 100%;
        height: 100%;
        text-align: center;
        background: transparent;

    }
</style>
<script type="text/javascript">
    function doPrint() {
        var objPrint = $(".print"), objPage = $(".page"),objTips=$(".tips");
        objTips.hide();
        objPrint.hide();
        objPage.jqprint();
        objTips.show();
        objPrint.show();
    }

    $(document).ready(function () {
        $('input').off().on('change', function () {
            $(this).attr('value', $(this).val())
        })
    })
</script>
</body>
</html>

二、css代码

<style type="text/css">
    * {
        border: 0;
        margin: 0;
        padding: 0;
        font-family: '华文楷体';
        /*font-weight: bold;*/
    }

    @media print {
        body {
            -webkit-print-color-adjust: exact;
        }

        div {
            -webkit-print-color-adjust: exact;
        }
    }

    body, html {
        width: 100%;
        height: 100%;
    }

    .page {

    }

    .content {
        width: 600px;
        height: 800px;
        margin: 0 auto;
        /*background: url("img/bg_atm01.jpg") no-repeat 100% 100%;
        background-size: 100% 100%;
        opacity: 0.1;*/
    }

    .content h1 {
        margin-top: 20px;
        text-align: center;
    }

    .content .name {
        text-align: center;
        font-size: 32px;
    }

    .content .copyright {
        text-align: left;
        font-size: 18px;
        width: 66px;
    }

    .content .title {
        font-family: '华文新魏';
        font-size: 18px;
        float: right;
        color: dimgray;
        text-align: right;
    }

    .content .print {
        text-align: center;
        cursor: pointer;
        background-color: white;
        border: 1px #5e5e5e;
    }

    .content .print:hover {
        background-color: crimson;
    }

    .content .tips {
        display: block;
        color: #5e5e5e;
    }

    .main {
        display: flex;
        flex: 0 0;
        border-right: 1px blue;
    }

    .main div.cell {
        display: flex;
        width: 50px;
        height: 50px;
        flex: 0 0 50px;
        background: url("img/miz_bg_blue.png") no-repeat center center;
        background-size: 100% 100%;
        box-shadow: inset 0 0 0 1px blue;
        margin-top: 2px;
    }

    .main div.cell input {
        font-size: 38px;
        width: 100%;
        height: 100%;
        text-align: center;
        background: transparent;

    }
</style>

三、jq代码

<script type="text/javascript">
    function doPrint() {
        var objPrint = $(".print"), objPage = $(".page"),objTips=$(".tips");
        objTips.hide();
        objPrint.hide();
        objPage.jqprint();
        objTips.show();
        objPrint.show();
    }

    $(document).ready(function () {
        $('input').off().on('change', function () {
            $(this).attr('value', $(this).val())
        })
    })
</script>

四、背景底图

五、其它说明

边框颜色和底图颜色本来是要做成可配参数的,本人太懒,满足使用就放在哪了,大神可以改css实现不同颜色的字帖,也可以把页面上部无关精要的内容删掉。。。

另:在打印时发现内容不居中,可以调整一下浏览器里的 “边距” 属性,自定义一下上下左右边距,使其居中

拙作一篇,请多关照

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值