连续的图像边框

我们希望实现如下的效果,但是只用一个元素:

主要的思路是 在背景图片之上,再叠加一层纯白的实色背景

但是边框的图片看起来有一种怪异拼接的感觉,原因在于 background-origin 的默认值是 padding-box,因此,图片的显示尺寸不仅取决于 padding-box 的尺寸,而且被放置在了 padding box 的原点(左上角)。我们看到的实际上就是背景图片以平铺的方式蔓延到 border box 区域的结果。为了修正这个问题,只需把 background-origin 也设置为 border-box 就可以了。

可以简写为:

这个技巧还可以用在 渐变图案 上,下面这段代码可以生成一种 老式信封样式的边框

这个技巧的另一个用武之地是创建好玩的 蚂蚁行军边框