border-image-repeat

Baseline 已广泛支持

此特性已经非常成熟,并且适用于许多设备和浏览器版本。自 2016 年 3 月以来,它已在所有浏览器中可用。

border-image-repeat CSS 属性定义了 边框图片的侧面和中间部分图像如何缩放和平铺。中间区域可以通过在 border-image-slice 属性中使用关键字 "fill" 来显示。

试一试

border-image-repeat: stretch;
border-image-repeat: repeat;
border-image-repeat: round;
border-image-repeat: space;
border-image-repeat: round stretch;
<section id="default-example">
  <div id="example-element">This is a box with a border around it.</div>
</section>
#example-element {
  width: 80%;
  height: 80%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 50px;
  background: #fff3d4;
  color: black;
  border: 30px solid;
  border-image: url("/shared-assets/images/examples/border-diamonds.png") 30
    round;
  font-size: 1.2em;
}

语法

css
/* Keyword value */
border-image-repeat: stretch;
border-image-repeat: repeat;
border-image-repeat: round;
border-image-repeat: space;

/* top and bottom | left and right */
border-image-repeat: round stretch;

/* Global values */
border-image-repeat: inherit;
border-image-repeat: initial;
border-image-repeat: revert;
border-image-repeat: revert-layer;
border-image-repeat: unset;

border-image-repeat 属性可以使用下面值列表中选择的一个或两个值来指定。

  • 当指定一个值时,它对所有四个边应用相同的行为。
  • 当指定两个值时,第一个值应用于顶部、中部和底部,第二个值应用于左侧和右侧

stretch

源图像的边缘区域被拉伸以填充每个边框之间的间隙。

repeat

源图像的边缘区域被平铺(重复)以填充每个边框之间的间隙。为了实现适当的拟合,瓦片可能会被裁剪。

round

源图像的边缘区域被平铺(重复)以填充每个边框之间的间隙。为了实现适当的拟合,瓦片可能会被拉伸。

space

源图像的边缘区域被平铺(重复)以填充每个边框之间的间隙。额外的空间将在瓦片之间分配,以实现适当的拟合。

正式定义

初始值stretch
应用于所有元素,但在 border-collapsecollapse 时,内部表格元素除外。该属性也适用于 ::first-letter
继承性
计算值同指定值
动画类型离散

正式语法

border-image-repeat = 
[ stretch | repeat | round | space ]{1,2}

示例

重复边框图像

CSS

css
#bordered {
  width: 12rem;
  margin-bottom: 1rem;
  padding: 1rem;
  border: 40px solid;
  border-image: url("border.png") 27;
  border-image-repeat: stretch; /* Can be changed in the live sample */
}

结果

规范

规范
CSS Backgrounds and Borders Module Level 3
# border-image-repeat

浏览器兼容性

另见