CSS border-image 属性 设置边框图像的。传递给 border-image 的值使用斜线符号 (/) 分隔。这些值应按特定顺序列出,切片,宽度,最后是偏移量。
适用范围
所有 HTML 元素,内部表格元素除外。
语法
border-image: url('URL'), 40% 25% 20% fill / 12px 5px / 5px space;
注意:您还可以仅使用一个值来声明 border-image 属性,即 URL 和其余值将采用默认值。
示例
让我们看一个例子:
<html>
<head>
<style>
.box {
width: 200px;
height: 200px;
border: 20px solid;
border-image: url(/css/images/border.png) 30 round;
}
</style>
</head>
<body>
<div class="box"></div>
</body>
</html>
概述
border-image 属性可以应用于任何元素,除了对于内部表格元素 (th,tr,td),当 border-collapse 设置为折叠时。
border-image 速记属性唯一需要的属性是 border-image -source、rest 其他属性是可选的。
以下是 border-image 简写的属性,按顺序排列:
border-image-source:指定边框图像的来源。可以是 URL、CSS 渐变或内联 SVG。
border-image-slice:允许浏览器对图像进行切片。
border-image-width:设置边框图像的宽度。
border-image-outset:将边框图像推到边框之外。
border-image-repeat:沿边框两侧重复指定的图像,直到填满整个长度和宽度。
border-image-source
border-image-source 属性指定要作为边框传递给
语法
border: 10px solid; border-image-source: url('URL');
border-image-slice
使用属性 border-image-source 指定的图像可以使用属性 border-image 进行切片。
顾名思义,该属性用于对图像进行切片。它将图像划分为 9 个区域,其中有 4 个角、4 个边缘和一个中间区域。
下图演示了 border-image-slice 属性的功能:
注意:border-image-slice 的偏移量可以以百分比和长度单位的形式提供。但是,强烈建议使用百分比。
例如,请参考以下语法:
border: 20px solid;
border-image-source: url('URL');
border-image-slice: 25%;
border-image-width
指定图像的宽度设置为边框,可以使用属性border-image-width。
语法
border: 20px solid;
border-image-source: url('URL');
border-image-width: 15px;
border-image-slice: 33.33%;
border-image-outset
为了避免重叠图像边框和内容,您可以使用属性 border-image-outset。
此属性将边框图像推到边框之外,超出边框框。
语法
border: 20px solid;
padding: 1em;
border-image-source: url('URL');
border-image-width: 1;
border-image-slice: 10;
border-image-outset: 8px;
border-image-repeat
默认情况下,边框图像沿两侧拉伸,但可以使用属性 border-image-repeat 进行更改。
该属性重复沿着边框两侧指定的图像,直到整个长度和宽度都没有被填满。
语法
border: 20px solid;
padding: 1em;
border-image-source: url('URL');
border-image-repeat: repeat;
它也可以将值取为圆形,除了拉伸并重复。
CSS 渐变边框图像
CSS 渐变也可用于设置元素的边框。支持三种类型的渐变:线性、径向和圆锥形。
线性渐变
线性渐变用于设置两种或多种颜色之间沿直线和轮廓的平滑过渡。同样可以用作元素周围的边框。
示例
这里是一个示例:
<html>
<head>
<style>
img {
height: 300px;
width: 300px;
}
img.with-linear-gradient {
border-style: solid;
border-width: 20px;
border-image: linear-gradient(45deg, rgb(15, 64, 161), rgb(228, 6, 17)) 1;
}
</style>
</head>
<body>
<div>
<img class="with-linear-gradient" src="/css/images/orange-flower.jpg" alt="linear-gradient"/>
</div>
</body>
</html>
径向渐变
径向渐变用于设置从其原点辐射的两种或多种颜色之间的渐进过渡。
示例
这里是一个示例:
<html>
<head>
<style>
img {
height: 300px;
width: 300px;
}
img.with-radial-gradient {
border-style: solid;
border-width: 10px;
border-image: radial-gradient(rgb(58, 61, 60), rgb(47, 227, 221)) 1;
}
</style>
</head>
<body>
<div>
<img class="with-radial-gradient" src="/css/images/orange-flower.jpg" alt="radial-gradient"/>
</div>
</body>
</html>
圆锥渐变
圆锥渐变有助于创建由围绕中心点旋转的颜色过渡组成的图像,而不是从中心辐射。
示例
这里是一个示例:
<html>
<head>
<style>
img {
height: 300px;
width: 300px;
}
img.with-conic-gradient {
border-style: solid;
border-width: 15px;
border-image: conic-gradient(red, yellow, green, aqua, blue, pink, red) 1;
}
</style>
</head>
<body>
<div>
<img class="with-conic-gradient" src="/css/images/orange-flower.jpg" alt="conic-gradient"/>
</div>
</body>
</html>
所有与border-image相关的属性如下表所示:
编号 | 属性 | 描述 |
---|---|---|
1 | border-image | 用于设置边框图像的简写属性。 |
2 | border- image-outset | 设置图像开始,即边框图像区域超出边框框的程度。 |
3 | border-image-repeat | 确定边框图像是否应重复、圆角、间隔或拉伸。 |
4 | border-image-source | 设置要作为元素边框传递的图像的源/路径。 |
5 | border-image-slice | 显示如何在边框中分割图像。 |
6 | border-image-width | 设置要设置为边框的图像的宽度。 |