gpt4 book ai didi

css - 将 HTML 变量传递给 CSS

转载 作者:太空宇宙 更新时间:2023-11-04 06:24:11 31 4
gpt4 key购买 nike

我进行了相当多的搜索,但没有找到任何最新的有用答案。

我的问题是是否可以将变量从 HTML(可能使用数据属性)传递到 CSS?

我的用例是我有品牌页面,我想使用媒体查询来显示每个品牌使用媒体查询的供应商特定背景。我知道你不能在内联 CSS 中使用媒体查询,但我同样不想在我的样式表中创建大约 100 个媒体查询。

在我的 HTML 页面上,我可以访问供应商背景 URL 的对象,所以如果我可以以某种方式将它们传递到单个 CSS 媒体查询中而不执行任何 JavaScript,那就太好了。

最佳答案

您可以使用 CSS 变量来做到这一点(a.f.a.i.k。没有其他方法)。

https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties

它会像这样工作:

  • 将 CSS 变量附加到您的 HTML 标记:<html style="--variable:'your_fallback_image.jpg'">
  • 动态地使用 URL 填充该变量(对于本例而言,如何操作无关紧要)
  • 创建将设置背景的 CSS(包装在媒体查询中)

类似下面的内容:

@media screen and (width:64rem){
background-image: url(--variable);
}

现在它应该在更改 URL 时相应地更新,并设置一个默认值以防您的动态解决方案不起作用。希望有所帮助。

关于css - 将 HTML 变量传递给 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55223623/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com