如何只用 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>
相关推荐
swipe1 小时前
把 JavaScript 原型讲透:从 `[[Prototype]]`、`prototype` 到 `constructor` 的完整心智模型
前端·javascript·面试
问道飞鱼1 小时前
【前端知识】React 组件生命周期:从底层原理到实践场景
前端·react.js·前端框架·生命周期
CHU7290352 小时前
定制专属美丽时刻:美容预约商城小程序的贴心设计
前端·小程序
浩~~2 小时前
反射型XSS注入
前端·xss
AwesomeDevin2 小时前
AI时代,我们的任务不应沉溺于与 AI 聊天,🤔 从“对话式编程”迈向“数字软件工厂”
前端·后端·架构
harrain2 小时前
antvG2折线图和区间range标记同时绘制
前端·javascript·vue.js·antv·g2
德育处主任Pro2 小时前
从重复搭建到高效生产,RollCode的H5开发新范式
前端
蜡台3 小时前
SPA(Single Page Application) Web 应用(即单页应用)架构模式 更新
前端·架构·vue·react·spa·spa更新
网络点点滴4 小时前
组件通信-作用域插槽
前端·javascript·vue.js
kyriewen115 小时前
异步编程:从“回调地狱”到“async/await”的救赎之路
开发语言·前端·javascript·chrome·typescript·ecmascript·html5