提升页面质感:CSS 重复格子背景的实用技巧

重复格子背景

最近发现不少开发类的网站都在首页使用上了重复格子的背景,例如下图中左侧以 relay.app 为例子的截图。

这种背景主要是为了在现在大量留白的设计风格下,避免页面过于空旷,增加一些视觉上的丰富性,不然就会如下图中右侧的截图那样在去掉背景后略显单调。

接下来具体讲一讲如何用 CSS 实现这种重复格子背景,主要有两种方法:

  • 局部格子图片 + 背景重复
  • CSS 渐变 + 背景重复(推荐)

方法一:局部格子图片 + 背景重复

relay.app 使用的就是这种方法,这应该是最常见也是最容易想到的方法,就是先准备一张格子图片,例如:

然后通过 background 相关属性进行设置即可,关键在于:

  • background-repeat 需要设置为 repeat,保证图片的重复。
  • background-size 可用于调整背景中格子的密度。
css 复制代码
background-image: url(https://framerusercontent.com/images/9c47fOR3CNoSsEtr6IEYJoKM.svg?width=126&height=126);
background-size: 63px auto;
background-repeat: repeat;
background-position: left top;

下面是一个前端组件使用后的效果示例 (访问 我的博客 可以进行交互式体验):

方法二:CSS 渐变 + 背景重复(推荐)

我们还可以通过 CSS 渐变来替代方法一中依赖的外部图片资源,从而实现更快的加载和更灵活的控制,一个简单的例子如下:

css 复制代码
background-image:
    linear-gradient(to right, rgba(59, 130, 246, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(59, 130, 246, 0.08) 1px, transparent 1px);
background-size: 40px 40px;
transform: rotate(-3deg) scale(1.2);

代码的关键在于:

  • 通过 linear-gradient 创建一个只有1px宽度的渐变条,颜色为 rgba(59, 130, 246, 0.08) 的部分占 1px,其余部分透明,to right 控制竖向的线条,to bottom 控制横向的线条。
  • 通过 background-size 控制格子的大小。
  • 通过 transform 可以制造倾斜的效果,更加有趣一些。

下面是一个前端组件使用后的效果示例 (访问 我的博客 可以进行交互式体验):

我最近开发的 JTool.dev 首页就是通过方法二实现的效果,也欢迎大家体验:

相关推荐
FungLeo1 小时前
成为全栈·Vue 管理后台篇·Vue Router如何守住多角色后台边界
前端·javascript·vue.js·rbac·vue router·路由守卫·前端权限
FungLeo1 小时前
成为全栈·Vue 管理后台篇·分页只显示第一页:从接口total 定位到前端修复
前端·vue.js·状态模式·分页·naive ui·服务端分页·前端问题排查
ZhengEnCi2 小时前
苹果滑动为什么有「肉感」:橡皮筋越界阻尼与弹簧动画的物理原理
前端
Moment2 小时前
不会后期的我,发现了一个开源胶片神器😍😍😍
前端·后端·开源
L1mbo2 小时前
Lite模式 缓解微信开发者工具卡顿,附 uni-app 实践方案
前端·微信小程序
FungLeo2 小时前
成为全栈·Vue管理后台篇·仪表盘不是几张卡片:组合统计接口与角色视图
前端·javascript·vue.js·rbac·仪表盘·管理后台·tanstack query
程序员大阳2 小时前
HTML+CSS+JS对话式实战(7)-学生端活动报名功能开发
javascript·css·html·活动报名
SameX2 小时前
HarmonyOS 做桌面卡片 onAddForm 要同步返回但数据在数据库里的解法
前端
deli0072 小时前
手机夜景模式为什么要举 3 秒?8 帧 RAW 堆栈 SNR 实测
前端
松仔log3 小时前
Kotlin中级——callbackFlow
java·前端·kotlin