css - 如何获取属性中的 CSS 类名称值部分

标签 css sass

是否有任何选项可以获取属性中的类名值。 在这里,我需要 12 个。

.grid-12{
   grid-template-columns: repeat(12, 1fr); 
}

提前致谢。

最佳答案

使用类似的东西

document.querySelector('div').style['grid-template-columns']您显然可以获取值然后解析它,但在我看来这看起来有点丑陋。

最好的办法是使用 css 解析器将 css 转换为 AST 树并对其进行迭代。这当然有其自身的权衡,通常不值得在前端进行,它甚至不能 100% 确定解析器会为您提供该值。例如我看到您在解析器中的代码片段已转换为以下 AST 树

{
  "parentStyleSheet": null,
  "cssRules": [
    {
      "parentRule": null,
      "parentStyleSheet": "[Circular ~]",
      "selectorText": ".grid-12",
      "style": {
        "0": "grid-template-columns",
        "length": 1,
        "parentRule": "[Circular ~.cssRules.0]",
        "_importants": {
          "grid-template-columns": ""
        },
        "__starts": 8,
        "grid-template-columns": "repeat(12, 1fr)"
      },
      "__starts": 0,
      "__ends": 55
    }
  ]
}

因此,您必须再次手动提取 12

关于css - 如何获取属性中的 CSS 类名称值部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45348005/

相关文章:

html - 未悬停时的 CSS 过渡

javascript - 仅对父元素实现 css

html - Bootstrap 响应式产品网格

javascript - 如何从选项卡内部更改为另一个选项卡?

css - 960 个网格元素没有像我认为的那样显示

node.js - 两台相同型号的笔记本电脑之间的 Angular 编译器速度很慢

css - 使用 Greasemonkey 在页面加载之前更改 CSS

css - 编辑 Bootstrap them SASS 作为新手

css - 防止 SASS gulp 编译器在 "!important"之前添加空格

html - 在绝对定位中调整多个 div 的大小