这是我的演示:https ://codepen.io/joondoe/pen/MWwmGwG?editors=0100
在我的示例中,我使用的是 CSS,但我也对使用 SVG 的解决方案持开放态度。
我已经设法创建了一个带有填充内容的边框图像。现在我想知道是否可以创建 100% 平滑的边框图像?我的意思是,以编程方式自动复制原始边框图像或最接近的边框图像。
在我的演示中,您可以看到它非常好,但相对于原始边框图像仍然存在一些锯齿和滞后。这是原始边框图像:
这是我的代码:
.container {
background-color: #444;
width: 300px;
height: 350px;
padding: 20;
margin: 0;
display: flex;
align-items: center;
justify-content: center;
border: solid ;
border-width:15px 30px 30px 25px;
border-image:url( https://i.imgur.com/Z6TVgss.png)40 stretch;
overflow:hidden;
box-sizing:content-box; background:url(https://www.ecopetit.cat/wpic/mpic/6-67359_race-car.jpg) center/cover no-repeat content-box;
}
div.element {
width: 50px;
height: 50px;
mask-image: url( https://i.imgur.com/Z6TVgss.png);
};
div.icon-image {
mask-size: 100% 100%;
mask-position: 0% 0%;
mask-repeat: no-repeat;
display: flex;
/* border: 1px solid orange; */
flex-direction: column;
align-items: center;
justify-content: center;
}
div.icon-image img {
width: 100%;
}
<div class="container">
<div title="" class="icon-image element"></div>
</div>
有没有办法仅使用 CSS 或 SVG 中的编程功能 - 百分比、填充属性等来重现原始边框的图像?
编辑: 感谢 Termani Afif 的解决方案。 我很惊讶在 Termani Afif 的 anwser 中的图像上有一个像素的间隙,所以我假设我的边界图像和蒙版可能不是这样说的。所以我用其他图像重新组合,效果很好,这里是演示:codepen.io/joondoe/pen/GRJmBQK?editors=0100