forked from AuroraMiddleware/gtk
35a0fb09ac
Previously we kept a Selector object for every "simple selector" (term from CSS spec). Now we keep one for every match operation. So given the selector ".a b:focus" we will have 4 elements: - pseudoclass ":focus" - element "b" - match any desendant (the space) - class ".a" Each of those is represented by a "selector class" which is basically the collection of vfuncs for this selector.
280 lines
2.2 KiB
CSS
280 lines
2.2 KiB
CSS
* {
|
|
int-property: 42;
|
|
}
|
|
|
|
* * {
|
|
int-property: 42;
|
|
}
|
|
|
|
* > * {
|
|
int-property: 42;
|
|
}
|
|
|
|
* b {
|
|
int-property: 42;
|
|
}
|
|
|
|
* > b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a {
|
|
int-property: 42;
|
|
}
|
|
|
|
a * {
|
|
int-property: 42;
|
|
}
|
|
|
|
a > * {
|
|
int-property: 42;
|
|
}
|
|
|
|
a b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a > b {
|
|
int-property: 42;
|
|
}
|
|
|
|
*.b {
|
|
int-property: 42;
|
|
}
|
|
|
|
* .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
* > .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
*:hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
* :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
* > :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a * {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a > * {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover * {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover > * {
|
|
int-property: 42;
|
|
}
|
|
|
|
a.b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a > .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a:hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
a :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
a > :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a > b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover > b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a.b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a > .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a:hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a > :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover.b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover > .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover:hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover > :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
*#b {
|
|
int-property: 42;
|
|
}
|
|
|
|
* #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
* > #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a * {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a > * {
|
|
int-property: 42;
|
|
}
|
|
|
|
a#b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
a > #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a > b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a#b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
.a > #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover#b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
:hover > #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a.b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a > .b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a:hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a > :hover {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a#b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a #b {
|
|
int-property: 42;
|
|
}
|
|
|
|
#a > #b {
|
|
int-property: 42;
|
|
}
|