能否通过CSS提取HTML属性部分内容并设置为CSS属性?
纯CSS提取属性值指定部分的解决方案
首先得明确:CSS本身没有原生的正则匹配或字符串拆分能力,attr()函数只能完整获取整个属性的取值,没法直接从test="key1-Value1 key2-Value2"里单独抠出Value2。
给你两个可行的思路:
调整HTML结构,把需要单独使用的
Value2放到独立的自定义属性里,比如:<div test="key1-Value1 key2-Value2" data-key2="Value2"></div>之后就能直接在CSS里用:
div { color: attr(data-key2); }这是最稳妥、兼容性最好的方案,适合你不想硬编码多元素规则的场景。
如果实在没办法修改HTML,那纯CSS层面没有完美的解决办法——因为CSS不支持字符串处理逻辑。你提到是Electron应用主题,或许可以考虑通过Electron的主进程预处理HTML(比如在加载页面时用Node.js修改DOM属性),但这已经涉及到代码逻辑,不属于纯CSS范畴了。
总结下来,最直接的纯CSS方案就是拆分属性,把需要的取值单独存到自定义data属性里。
内容的提问来源于stack exchange,提问作者Oneechan69
相关产品推荐
相关产品推荐

