我希望选择HTML上的src属性值,并将其传递给变量中的css/scss文件,以便将其添加到url()属性中:
<style>
img[src]{
background-image:url(attr(src));
}
</style>
,对于每个不同的img,只需获取它们的src值,将其添加到url属性中,并使其成为背景图像,这样我就不必对每个不同的图像进行大量编码或编码。
-
我试过了,但不起作用,我也尝试使用自定义属性,但我想确认没有办法这样做或类似的解决方案。
谢谢
发布于 2021-09-29 13:27:49
不,您需要javascript来获取value属性并将其用作其他地方的值。
这里有一个可能使用css var(--var)的示例,这样就可以很容易地重用它:
let imgs = document.querySelectorAll('body img');
[...imgs].forEach((img) => {
img.setAttribute("style", "--bg: url(" + img.getAttribute('title') + ");");
});
img {
padding: 5em;
background: var(--bg) 0 0 / cover ;
box-shadow:inset 0 0 5em
}
<img src="https://picsum.photos/id/1020/200/300" title="https://picsum.photos/id/1020/200/300">
<img src="https://picsum.photos/id/1025/200/300" title="https://picsum.photos/id/1025/200/300">
<img src="https://picsum.photos/id/1015/200/300" title="https://picsum.photos/id/1015/200/300">
<img src="https://picsum.photos/id/1025/200/300" title="https://picsum.photos/id/1025/200/300">
<img src="https://picsum.photos/id/1050/200/300" title="https://picsum.photos/id/1050/200/300">
直到整张桌子在https://developer.mozilla.org/en-US/docs/Web/CSS/attr()变绿
https://stackoverflow.com/questions/69376139
复制相似问题