如何只用 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>
相关推荐
brzhang4 小时前
我操,终于有人把 AI 大佬们 PUA 程序员的套路给讲明白了!
前端·后端·架构
止观止5 小时前
React虚拟DOM的进化之路
前端·react.js·前端框架·reactjs·react
goms5 小时前
前端项目集成lint-staged
前端·vue·lint-staged
谢尔登5 小时前
【React Natve】NetworkError 和 TouchableOpacity 组件
前端·react.js·前端框架
Lin Hsüeh-ch'in5 小时前
如何彻底禁用 Chrome 自动更新
前端·chrome
augenstern4167 小时前
HTML面试题
前端·html
张可7 小时前
一个KMP/CMP项目的组织结构和集成方式
android·前端·kotlin
G等你下课7 小时前
React 路由懒加载入门:提升首屏性能的第一步
前端·react.js·前端框架
蓝婷儿8 小时前
每天一个前端小知识 Day 27 - WebGL / WebGPU 数据可视化引擎设计与实践
前端·信息可视化·webgl
然我8 小时前
面试官:如何判断元素是否出现过?我:三种哈希方法任你选
前端·javascript·算法