| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | AA | AB | AC | AD | AE | AF | AG | AH | AI | AJ | AK | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Plugins | Syntax Type | Style Location | Internal Stylesheets | External Stylesheets | Style Scoping Level | element queries | container queries | restricted to self & children | forced containment | multiple queries per feature per element | width | height | # of chars | # of words | # of lines | # of children | scroll | aspect-ratio | orientation | global JS interpolation | scoped JS interpolation | ancestor selector | parent selector | previous selector | xpath selector | Browser Support | SLOC | Filesize | Plugins | |||||||
2 | EQCSS | CSS (custom syntax) | CSS: <style>, <link type=text/eqcss href>, <script type=text/eqcss>, JS: EQCSS.register() | y | y | 1,2,3 | y | y | n | n | y | y | y | y | n | y | y | y | y | y | y | y | y | y | y | n | IE8+ | 682 | 17841 | EQCSS | |||||||
3 | CSSplus/Aspecty | CSS (variables) | CSS: --aspect-ratio: ratio; | y | y | 3 | y | n | y | n | y | n | n | n | n | n | n | n | y | n | n | n | n | n | n | n | Edge15 | 93 | 2674 | CSSplus/Aspecty | |||||||
4 | CSSplus/Cursory | CSS (variables) | CSS: var(--cursorX) | y | y | 3 | y | n | n | n | y | y | y | n | n | n | n | n | n | n | n | n | n | n | n | n | Edge15 | 57 | 1559 | CSSplus/Cursory | |||||||
5 | CSSplus/Scrollery | CSS (variables), HTML (custom attributes) | CSS: var(--x-scrollTop), HTML: data-scrollery="" | y | y | 3 | y | n | n | n | y | y | y | n | n | n | n | y | n | n | n | n | n | n | n | n | Edge15 | 54 | 1492 | CSSplus/Scrollery | |||||||
6 | CSSplus/Selectory | CSS (attribute selector) | CSS: [test="true"] | y | y | 2 | y | y | y | n | y | y | y | y | n | n | y | y | y | y | y | y | y | y | y | n | Edge | 89 | 2605 | CSSplus/Selectory | |||||||
7 | CSSplus/Varsity | CSS (variables), HTML (custom attributes) | CSS: var(--x-offsetWidth), HTML: data-varsity="" | y | y | 3 | y | n | n | n | y | y | y | y | n | n | y | n | n | n | n | n | n | n | n | n | Edge15 | 52 | 1555 | CSSplus/Varsity | |||||||
8 | CSSplus/Xpathy | CSS (attribute selector) | CSS: [xpath="//*"] | y | y | 2 | y | y | n | n | y | n | n | y | n | n | y | n | n | n | n | n | y | y | y | y | Edge | 98 | 2514 | CSSplus/Xpathy | |||||||
9 | reproCSS | CSS (with JS inside ${}) | HTML: <style process="" selector=""> | y | n | 1,2,3 | y | y | n | n | y | y | y | y | n | n | y | y | y | y | y | n | y | y | y | n | IE10 | 81 | 1836 | reproCSS | |||||||
10 | Varius | CSS (variables) | CSS: var(--offsetWidth) | y | y | 3 | y | n | y | n | y | y | y | y | n | n | y | y | n | n | n | n | n | n | n | n | 21 | 987 | Varius | ||||||||
11 | Slinky | HTML (attribute values) | HTML: <link data-selector data-test data-event> | n | y | 1 | y | y | n | n | y | y | y | y | n | n | y | y | y | y | n | n | n | n | n | n | IE9+ | 19 | 687 | Slinky | |||||||
12 | PrinCSS / JS-in-CSS | JIC stylesheet (inline in JS) | JS: `template string` | y | n | 1,2,3 | y | y | n | n | y | y | y | y | n | n | y | y | y | y | y | n | y | y | y | n | 56 | 1165 | PrinCSS | ||||||||
13 | Skopein | CSS (with $this for scoped element) | HTML: <link data-selector data-test data-event> | n | y | 1,2 | y | y | n | n | y | y | y | y | n | n | y | y | y | y | n | n | n | n | n | n | 53 | 1364 | Skopein | ||||||||
14 | interpolate ${} in CSS | JIC stylesheet (inline or external) | HTML: <style>, <link rel=stylesheet href> | y | y | 1,2,3 | y | y | n | n | y | y | y | y | n | n | y | y | y | y | y | n | y | y | y | n | 42 | 1012 | interpolate ${} in CSS | ||||||||
15 | JIC | JIC stylesheet (inline or external) | HTML: <link type=text/jic> or <script type=text/jic> | y | y | 3 | y | y | n | n | y | y | y | y | n | n | y | y | y | y | y | n | n | n | n | n | 111 | 2388 | JIC | ||||||||
16 | Querious | HTML (custom attributes) | CSS | y | y | 2 | y | y | y | n | n | y | y | y | y | n | y | n | n | n | n | n | n | n | n | n | IE10 | 41 | 1076 | Querious | |||||||
17 | QSS | CSS (custom syntax) | CSS: <style type=text/qss>, <link type=text/qss href>, <script type=text/qss> | y | y | 2 | y | n | y | n | y | y | y | y | n | n | y | y | n | n | n | n | n | n | n | n | QSS | ||||||||||
18 | RobServ | JSON | JS: {selector: '', test: function, stylesheet: ''} | y | y | 1 | y | y | n | n | n | y | y | n | n | n | n | n | y | y | n | n | n | n | n | n | RobServ | ||||||||||
19 | Qompile | JIC stylesheet (external file) | JIC stylesheet (external file) | n | y | 1 | y | y | n | n | y | y | y | y | y | n | n | n | n | n | y | y | y | n | Qompile | ||||||||||||
20 | |||||||||||||||||||||||||||||||||||||
21 | http://moss.stanford.edu/results/639013173/ | up to 88% similar | |||||||||||||||||||||||||||||||||||
22 | Mixins | Syntax Type | Style Location | Internal Stylesheets | External Stylesheets | Style Scoping Level | element queries | container queries | restricted to self & children | forced containment | multiple queries per feature per element | width | height | # of chars | # of words | # of lines | # of children | scroll | aspect-ratio | orientation | global JS interpolation | scoped JS interpolation | ancestor selector | parent selector | previous selector | xpath selector | Browser Support | Mixins | |||||||||
23 | reproCSS/ancestor-selector | JS (function with arguments) | JS: ancestor(selector, ancestor, rule) | y | y | 2 | n | n | n | n | y | n | n | n | n | n | n | n | n | n | n | n | y | y | n | n | 18 | 441 | reproCSS/ancestor-selector | ||||||||
24 | reproCSS/aspect-ratio | JS (function with arguments) | JS: aspect(selector, ratio) | y | y | 3 | y | n | y | n | y | n | n | n | n | n | n | n | y | n | n | n | n | n | n | n | IE10 | 15 | 408 | reproCSS/aspect-ratio | |||||||
25 | reproCSS/auto-expand | JS (function with arguments) | JS: autoExpand(selector, direction) | y | y | 3 | y | n | y | n | y | n | n | n | n | n | n | y | n | n | n | n | n | n | n | n | IE10 | 14 | 397 | reproCSS/auto-expand | |||||||
26 | reproCSS/closest-selector | JS (function with arguments) | JS: closest(selector, ancestor, rule) | y | y | 2 | n | n | n | n | y | n | n | n | n | n | n | n | n | n | n | n | y | y | n | n | Edge | 15 | 393 | reproCSS/closest-selector | |||||||
27 | reproCSS/container-queries | JS (function with arguments) | JS: container(selector, test, childSelector, rule) | y | y | 2 | y | y | y | n | y | y | y | y | n | n | y | y | y | y | y | y | n | n | n | n | IE10 | 21 | 551 | reproCSS/container-queries | |||||||
28 | reproCSS/elder-selector | JS (function with arguments) | JS: elder(selector, rule) | y | y | 2 | n | n | n | n | y | n | n | n | n | n | n | n | n | n | n | n | n | n | y | n | 23 | 576 | reproCSS/elder-selector | ||||||||
29 | reproCSS/parent-selector | JS (function with arguments) | JS: parent(selector, rule) | y | y | 2 | n | n | n | n | y | n | n | n | n | n | n | n | n | n | n | n | n | y | n | n | Edge | 15 | 348 | reproCSS/parent-selector | |||||||
30 | reproCSS/prev-selector | JS (function with arguments) | JS: prev(selector, rule) | y | y | 2 | n | n | n | n | y | n | n | n | n | n | n | n | n | n | n | n | n | n | y | n | Edge | 15 | 352 | reproCSS/prev-selector | |||||||
31 | reproCSS/scoped-eval | JS (function with arguments) | JS: scoped(selector, rule) | y | y | 3 | y | y | y | n | y | y | y | y | n | n | y | y | y | y | y | y | y | y | y | n | Edge | 19 | 480 | reproCSS/scoped-eval | |||||||
32 | reproCSS/xpath-selector | JS (function with arguments) | JS: xpath(selector, rule) | y | y | 2 | y | y | y | n | y | n | n | y | n | n | y | n | n | n | n | n | y | y | y | y | Edge | 25 | 497 | reproCSS/xpath-selector | |||||||
33 | respec | JS (function with arguments) | JS: respec(selector, specificity, rule) | y | y | 2 | n | n | y | n | y | n | n | n | n | n | n | n | n | n | n | n | n | n | n | n | 18 | 430 | respec | ||||||||
34 | Container Queries Mixin | JS (function with arguments, plus $this) | JS: container(selector, test, stylesheet) | y | y | 1,2 | y | y | y | n | y | y | y | y | n | n | y | y | y | y | y | y | n | n | n | n | 18 | 436 | Container Queries Mixin | ||||||||
35 | Cascading JS Variables | JS (function with arguments) | JS: cascadingVariables(selector, rule) | y | y | 3 | n | n | y | n | y | n | n | n | n | n | n | n | n | n | y | y | n | n | n | n | 28 | 853 | Cascading JS Variables | ||||||||
36 | Element Based Units mixin | JS (function with arguments) | JS: eunit(selector, stylesheet) | y | y | 3 | y | n | y | n | y | y | y | n | n | n | n | n | n | n | n | y | n | n | n | n | 18.76923077 | 474 | |||||||||
37 | http://moss.stanford.edu/results/523570636/ | up to 63% similar | |||||||||||||||||||||||||||||||||||
38 | |||||||||||||||||||||||||||||||||||||
39 | |||||||||||||||||||||||||||||||||||||
40 | |||||||||||||||||||||||||||||||||||||
41 | |||||||||||||||||||||||||||||||||||||
42 | |||||||||||||||||||||||||||||||||||||
43 | |||||||||||||||||||||||||||||||||||||
44 | |||||||||||||||||||||||||||||||||||||
45 | |||||||||||||||||||||||||||||||||||||
46 | |||||||||||||||||||||||||||||||||||||
47 | |||||||||||||||||||||||||||||||||||||
48 | |||||||||||||||||||||||||||||||||||||
49 | |||||||||||||||||||||||||||||||||||||
50 | |||||||||||||||||||||||||||||||||||||
51 | |||||||||||||||||||||||||||||||||||||
52 | |||||||||||||||||||||||||||||||||||||
53 | |||||||||||||||||||||||||||||||||||||
54 | |||||||||||||||||||||||||||||||||||||
55 | |||||||||||||||||||||||||||||||||||||
56 | |||||||||||||||||||||||||||||||||||||
57 | |||||||||||||||||||||||||||||||||||||
58 | |||||||||||||||||||||||||||||||||||||
59 | |||||||||||||||||||||||||||||||||||||
60 | |||||||||||||||||||||||||||||||||||||
61 | |||||||||||||||||||||||||||||||||||||
62 | |||||||||||||||||||||||||||||||||||||
63 | |||||||||||||||||||||||||||||||||||||
64 | |||||||||||||||||||||||||||||||||||||
65 | |||||||||||||||||||||||||||||||||||||
66 | |||||||||||||||||||||||||||||||||||||
67 | |||||||||||||||||||||||||||||||||||||
68 | |||||||||||||||||||||||||||||||||||||
69 | |||||||||||||||||||||||||||||||||||||
70 | |||||||||||||||||||||||||||||||||||||
71 | |||||||||||||||||||||||||||||||||||||
72 | |||||||||||||||||||||||||||||||||||||
73 | |||||||||||||||||||||||||||||||||||||
74 | |||||||||||||||||||||||||||||||||||||
75 | |||||||||||||||||||||||||||||||||||||
76 | |||||||||||||||||||||||||||||||||||||
77 | |||||||||||||||||||||||||||||||||||||
78 | |||||||||||||||||||||||||||||||||||||
79 | |||||||||||||||||||||||||||||||||||||
80 | |||||||||||||||||||||||||||||||||||||
81 | |||||||||||||||||||||||||||||||||||||
82 | |||||||||||||||||||||||||||||||||||||
83 | |||||||||||||||||||||||||||||||||||||
84 | |||||||||||||||||||||||||||||||||||||
85 | |||||||||||||||||||||||||||||||||||||
86 | |||||||||||||||||||||||||||||||||||||
87 | |||||||||||||||||||||||||||||||||||||
88 | |||||||||||||||||||||||||||||||||||||
89 | |||||||||||||||||||||||||||||||||||||
90 | |||||||||||||||||||||||||||||||||||||
91 | |||||||||||||||||||||||||||||||||||||
92 | |||||||||||||||||||||||||||||||||||||
93 | |||||||||||||||||||||||||||||||||||||
94 | |||||||||||||||||||||||||||||||||||||
95 | |||||||||||||||||||||||||||||||||||||
96 | |||||||||||||||||||||||||||||||||||||
97 | |||||||||||||||||||||||||||||||||||||
98 | |||||||||||||||||||||||||||||||||||||
99 | |||||||||||||||||||||||||||||||||||||
100 |