Null Pointer Micromanagement
    Have ideas to improve npm?Join in the discussion! »

    cssom
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/cssom package

    0.4.4 • Public • Published

    CSSOM

    CSSOM.js is a CSS parser written in pure JavaScript. It is also a partial implementation of CSS Object Model.

    CSSOM.parse("body {color: black}")
    -> {
      cssRules: [
        {
          selectorText: "body",
          style: {
            0: "color",
            color: "black",
            length: 1
          }
        }
      ]
    }
    

    Parser demo

    Works well in Google Chrome 6+, Safari 5+, Firefox 3.6+, Opera 10.63+. Doesn't work in IE < 9 because of unsupported getters/setters.

    To use CSSOM.js in the browser you might want to build a one-file version that exposes a single CSSOM global variable:

    ➤ git clone https://github.com/NV/CSSOM.git
    ➤ cd CSSOM
    ➤ node build.js
    build/CSSOM.js is done
    

    To use it with Node.js or any other CommonJS loader:

    ➤ npm install cssom
    

    Don’t use it if...

    You parse CSS to mungle, minify or reformat code like this:

    div {
      background: gray;
      background: linear-gradient(to bottomwhite 0%black 100%);
    }

    This pattern is often used to give browsers that don’t understand linear gradients a fallback solution (e.g. gray color in the example). In CSSOM, background: gray gets overwritten. It doesn't get preserved.

    If you do CSS mungling, minification, image inlining, and such, CSSOM.js is no good for you, considere using one of the following:

    Tests

    To run tests locally:

    ➤ git submodule init
    ➤ git submodule update
    

    Who uses CSSOM.js

    Install

    npm i cssom

    DownloadsWeekly Downloads

    17,500,994

    Version

    0.4.4

    License

    MIT

    Unpacked Size

    48.7 kB

    Total Files

    24

    Last publish

    Collaborators

    • avatar
    • avatar