mirror of
https://github.com/less/less.js.git
synced 2026-01-23 06:07:56 -05:00
Add parent selector to user variable
This commit is contained in:
@@ -1001,10 +1001,29 @@ less.Parser = function Parser(env) {
|
||||
selector: function () {
|
||||
var sel, e, elements = [], c, match;
|
||||
|
||||
if ($('(')) {
|
||||
if (peek(/^&?\(/)) {
|
||||
// variable selectors:
|
||||
// allow & before a selector to allow variable selectors
|
||||
// to be at the same level, e.g.
|
||||
// .a {
|
||||
// &(~".b") {
|
||||
//
|
||||
// Ideally this would be part of the element function.. this would allow
|
||||
// (@a).b(@c)
|
||||
// however this syntax conflicts with the supported syntax
|
||||
// :nth-child(@a)
|
||||
// vs
|
||||
// .a:hover(@a)
|
||||
|
||||
e = $('&');
|
||||
$('(');
|
||||
if (e) {
|
||||
elements.push(new(tree.Element)('', e, i));
|
||||
}
|
||||
sel = $(this.entity);
|
||||
expect(')');
|
||||
return new(tree.Selector)([new(tree.Element)('', sel, i)]);
|
||||
elements.push(new(tree.Element)('', sel, i));
|
||||
return new(tree.Selector)(elements);
|
||||
}
|
||||
|
||||
while (e = $(this.element)) {
|
||||
|
||||
@@ -113,3 +113,12 @@ p a span {
|
||||
.other::bnord {
|
||||
color: #ff0000;
|
||||
}
|
||||
.a .b {
|
||||
color: red;
|
||||
}
|
||||
.a.c {
|
||||
color: black;
|
||||
}
|
||||
.a :nth-child(3) {
|
||||
color: purple;
|
||||
}
|
||||
|
||||
@@ -107,3 +107,16 @@ a {
|
||||
::bnord {color: red }
|
||||
&::bnord {color: red }
|
||||
}
|
||||
|
||||
.a {
|
||||
(~".b") {
|
||||
color: red;
|
||||
}
|
||||
&(~".c") {
|
||||
color: black;
|
||||
}
|
||||
@d: 3;
|
||||
:nth-child(@d) {
|
||||
color: purple;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user