在边框图像中添加多个渐变?
Add more than one gradient in border-image?
对于 background-image
,您可以添加任意数量的 radial-gradient
and/or linear-gradient
。但是对于 border-image
似乎只能加一个。如果觉得很奇怪,因为边框和背景的渐变显示原理应该是一样的吧?
有没有办法在border-image
中添加多个渐变?我只对纯 CSS 解决方案感兴趣。
这不起作用,因为它包含超过 1 个渐变:
div {
height: 30px;
width: 40px;
border: 50px solid black;
border-image:
radial-gradient(circle at 20px 30px, green 20px, rgba(0,0,255, .5) 20px),
radial-gradient(30deg, blue 22px, red 22px);
}
https://jsfiddle.net/thadeuszlay/p6r2p78g/
这可行,但只包含一个渐变:
div {
height: 30px;
width: 40px;
border: 50px solid black;
border-image: radial-gradient(circle at 20px 30px, green 20px, rgba(0, 0, 255, .5) 20px);
}
不可以,您不能将多张图像设置为 border-image
shorthand 或 border-image-source
普通格式 属性。
根据border-image-source
的规范,我们可以看到只有一个图像层被指定为值。
Name: border-image-source
Value: none | <image>
而对于 background-image
,我们可以看到指定了多层。
Name: background-image
Value: <bg-image> [ , <bg-image> ]*
以下是 spec which introduces layering of background images 的摘录:(强调我的)
The background of a box can have multiple layers in CSS3. The number of layers is determined by the number of comma-separated values in the ‘background-image’ property.
对于 background-image
,您可以添加任意数量的 radial-gradient
and/or linear-gradient
。但是对于 border-image
似乎只能加一个。如果觉得很奇怪,因为边框和背景的渐变显示原理应该是一样的吧?
有没有办法在border-image
中添加多个渐变?我只对纯 CSS 解决方案感兴趣。
这不起作用,因为它包含超过 1 个渐变:
div {
height: 30px;
width: 40px;
border: 50px solid black;
border-image:
radial-gradient(circle at 20px 30px, green 20px, rgba(0,0,255, .5) 20px),
radial-gradient(30deg, blue 22px, red 22px);
}
https://jsfiddle.net/thadeuszlay/p6r2p78g/
这可行,但只包含一个渐变:
div {
height: 30px;
width: 40px;
border: 50px solid black;
border-image: radial-gradient(circle at 20px 30px, green 20px, rgba(0, 0, 255, .5) 20px);
}
不可以,您不能将多张图像设置为 border-image
shorthand 或 border-image-source
普通格式 属性。
根据border-image-source
的规范,我们可以看到只有一个图像层被指定为值。
Name: border-image-source
Value: none | <image>
而对于 background-image
,我们可以看到指定了多层。
Name: background-image
Value: <bg-image> [ , <bg-image> ]*
以下是 spec which introduces layering of background images 的摘录:(强调我的)
The background of a box can have multiple layers in CSS3. The number of layers is determined by the number of comma-separated values in the ‘background-image’ property.