如何只用 CSS 制作网格?

来源:how-to-make-a-grid-like-graph-paper-grid-with-just-css

在看 用于打印到纸张的 CSS 这篇文章时,对其中的网格比较好奇,作者提供了 stackoverflow 的链接,就看到了来源的这个问题和众多回复。本文从里面挑选了一些个人比较喜欢的样式,贴在下面展示。

样式1

效果图:

样式代码:

html 复制代码
<!DOCTYPE html>
<html>
<style>
html
{
    width: 100%;
    height: 100%;
    background-color: lightblue;

    background-size: 1cm 1cm;
    background-image:
      linear-gradient(to right, grey 1px, transparent 1px),
      linear-gradient(to bottom, grey 1px, transparent 1px);
}
</style>
<body>
    <h1>Sample text</h1>
    <h2>Sample text</h2>
    <h3>Sample text</h3>
    <h4>Sample text</h4>
    <p>sample text</p>
    <h1>示例文字</h1>
    <h2>示例文字</h2>
    <h3>示例文字</h3>
    <h4>示例文字</h4>
    <p>示例文字</p>
</body>
</html>

打印预览无边距时,选择A4纸时的尺寸和格子数量刚好一样,用这种背景比较方便做排版和套打,下图是打印后的效果:

和A4纸的尺寸 21.0 x 29.7厘米(8.27 x 11.69英寸) 是一致的。

样式2

效果图:

样式代码:

html 复制代码
<!DOCTYPE html>
<html>
<style>
html
{
    width: 100%;
    height: 100%;
    background-color: lightblue;

    background-size: 40px 40px;
    background-image: radial-gradient(circle, #000000 1px, rgba(0, 0, 0, 0) 1px);
}
</style>
<body>
    <h1>Sample text</h1>
    <h2>Sample text</h2>
    <h3>Sample text</h3>
    <h4>Sample text</h4>
    <p>sample text</p>
    <h1>示例文字</h1>
    <h2>示例文字</h2>
    <h3>示例文字</h3>
    <h4>示例文字</h4>
    <p>示例文字</p>
</body>
</html>

样式3

效果图:

样式代码:

html 复制代码
<!DOCTYPE html>
<html>
<style>
html
{
    width: 100%;
    height: 100%;
    background-color: lightblue;

    background:
        linear-gradient(-90deg, rgba(0,0,0,.05) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.05) 1px, transparent 1px), 
        linear-gradient(-90deg, rgba(0, 0, 0, .04) 1px, transparent 1px),
        linear-gradient(rgba(0,0,0,.04) 1px, transparent 1px),
        linear-gradient(transparent 3px, #f2f2f2 3px, #f2f2f2 78px, transparent 78px),
        linear-gradient(-90deg, #aaa 1px, transparent 1px),
        linear-gradient(-90deg, transparent 3px, #f2f2f2 3px, #f2f2f2 78px, transparent 78px),
        linear-gradient(#aaa 1px, transparent 1px),
        #f2f2f2;
    background-size:
        4px 4px,
        4px 4px,
        80px 80px,
        80px 80px,
        80px 80px,
        80px 80px,
        80px 80px,
        80px 80px;
}
</style>
<body>
    <h1>Sample text</h1>
    <h2>Sample text</h2>
    <h3>Sample text</h3>
    <h4>Sample text</h4>
    <p>sample text</p>
    <h1>示例文字</h1>
    <h2>示例文字</h2>
    <h3>示例文字</h3>
    <h4>示例文字</h4>
    <p>示例文字</p>
</body>
</html>

样式4

效果图:

样式代码:

html 复制代码
<!DOCTYPE html>
<html>
<style>
html
{
    width: 100%;
    height: 100%;
    background-color: lightblue;

    --grid-size: 30px;
    --grid-strength: 1px;
    --grid-dash: 10px;
    --grid-gap: 5px;
    --grid-color: #ddd;
    --paper-color: #fff;

    background-color: var(--paper-color);
    background-size: var(--grid-dash) var(--grid-dash), var(--grid-size) var(--grid-size);
    background-image:
        linear-gradient(to bottom, transparent var(--grid-gap), var(--paper-color) var(--grid-gap)), 
        linear-gradient(to right, var(--grid-color) var(--grid-strength), transparent var(--grid-strength)),
        linear-gradient(to right, transparent var(--grid-gap), var(--paper-color) var(--grid-gap)),
        linear-gradient(to bottom, var(--grid-color) var(--grid-strength), transparent var(--grid-strength));

}
</style>
<body>
    <h1>Sample text</h1>
    <h2>Sample text</h2>
    <h3>Sample text</h3>
    <h4>Sample text</h4>
    <p>sample text</p>
    <h1>示例文字</h1>
    <h2>示例文字</h2>
    <h3>示例文字</h3>
    <h4>示例文字</h4>
    <p>示例文字</p>
</body>
</html>
相关推荐
alicca32 分钟前
递归手撕,JSON 字符串化和解析,加权树结构的字符串解析对象,解析并返回DOM 树结构(DOMParser),解析带有层级的文本
前端·javascript
李是啥也不会1 小时前
JavaScript中的输出方式
开发语言·前端·javascript
炒毛豆1 小时前
ant design vue中带勾选表格报Tree missing follow keys: ‘undefined‘解决方法
前端·javascript·vue.js
大多_C1 小时前
python中logging的用法
前端·python
林某人的代码日常1 小时前
前端之render函数的理解
前端·vue.js·react.js
qiao若huan喜3 小时前
10_React router6
前端·react.js·前端框架
Ghost-993 小时前
mac 上配置Jmeter代理进行web脚本录制过程&容易踩坑的点
前端·网络·jmeter·macos·压力测试
职场人参3 小时前
几个将ppt文件压缩变小的方法!
前端·html
FGGIT3 小时前
【node】 cnpm|npm查看、修改镜像地址操作 换源操作
前端·npm·node.js