css - 如何使用数据属性在 CSS 中设置背景图像?

标签 css custom-data-attribute

我有一个包含一些背景图片(one.jpg、two.jpg、three.jpg)和这个标记的文件夹

<section class="slide" data-bg="one"></section>
<section class="slide" data-bg="two"></section>
<section class="slide" data-bg="three"></section>

有没有可能只用 CSS 做这样的事情?

.slide{
    background-image: url(img/attr(data-bg).jpg);
}

当然,这段代码是行不通的。

最佳答案

这对于纯 css 是不可能的,除非你以“非动态”的方式进行:

.slide[data-bg="one"]{
  background-image: url('img/one.jpg');
}
.slide[data-bg="two"]{
  background-image: url('img/two.jpg');
}
...

也许您可以在服务器端根据您的文件名动态创建该样式表。

另一种(可能更容易)的可能性是使用 JavaScript 执行此操作 - 但由于您排除了这一点,我假设您知道它并且只是不想使用它。

关于css - 如何使用数据属性在 CSS 中设置背景图像?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11117915/

相关文章:

html - 溢出:滚动到超出其父级的元素

javascript - CSS 过渡高度和填充

javascript - 读取数据属性=未定义?

jquery - 如何从一系列数据属性的元素更改 css?

jquery - 滚动捕捉到部分而不调整窗口大小

javascript - 如何让一个绝对定位的div填满整个文档区域

php - 自动从元素中删除未使用的 CSS

jquery - 更改后按数据属性选择元素

reactjs - react : access data-attribute in <option> tag

jquery - 修改此函数以按数据属性而不是按类显示/隐藏