CSSOM

CSS Object Model implemented in pure JavaScript. It's also a parser!

Github星跟蹤圖

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 bottom, white 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

主要指標

概覽
名稱與所有者NV/CSSOM
主編程語言JavaScript
編程語言JavaScript (語言數: 2)
平台
許可證MIT License
所有者活动
創建於2010-10-26 11:24:05
推送於2023-04-18 01:21:40
最后一次提交2023-04-17 18:21:40
發布數8
最新版本名稱v0.3.1 (發布於 2016-01-31 19:37:39)
第一版名稱v0.1 (發布於 )
用户参与
星數752
關注者數25
派生數99
提交數212
已啟用問題?
問題數70
打開的問題數20
拉請求數31
打開的拉請求數4
關閉的拉請求數12
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?