- Less - Nested Rules
- Less - Nested Directives and Bubbling
- Less - Operations
- Less - Escaping
- Less - Functions
- Less - Namespaces and Accessors
- Less - Scope
- Less - Comments
- Less - Importing
- Less - Variables
- Less - Extend
- Less - Mixins
- Less - Parametric Mixins
- Less - Mixins as Functions
- Less - Passing Rulesets to Mixins
- Less - Import Directives
- Less - Import Options
- Less - Mixin Guards
- Less - CSS Guards
- Less - Loops
- Less - Merge
- Less - Parent Selectors
- Functions
- Less - Misc Functions
- Less - String Functions
- Less - List Functions
- Less - Math Functions
- Less - Type Functions
- Less - Color Defination Functions
- Less - Color Channel Functions
- Less - Color Operation
- Less - Color Blending Functions
- Usage
- Less - Command Line Usage
- Using Less In The Browser
- Less - Browser support
- Less - Plugins
- Less - Programmatic Usage
- Less - Online Compilers
- Less - GUIs
- Less - Editors and Plugins
- Less - Third Party Compilers
- Less - Frameworks
- Less Useful Resources
- Less - Quick Guide
- Less - Cheatsheet
- Less - Useful Resources
- Less - Discussion
LESS - Combinatorial Explosion
Description
The & can produce all the possible permutation of selectors in a list separated by commas.
Example
The following example demonstrates the use of & to produce all possible permutation of selectors in the LESS file −
<html>
<head>
<link rel = "stylesheet" href = "style.css" type = "text/css" />
<title>Combinatorial Explosion</title>
</head>
<body>
<p>This is first paragraph.</p>
<p>This is second paragraph which is adjecent to first paragraph ( i.e. p + p ). This will be highlighted.</p>
<div>
This div is adjecent to second paragraph ( i.e. p + div ). This will be highlighted.
</div>
<p>This is third paragraph adjecent to div ( i.e. p + div ). This will be highlighted.</p>
<i>This is italic. This will not be highlighted since there is no (p + i) in CSS</i>
<div>This is second div</div>
<div>This is div adjecent to second div ( i.e. div + div ). This will be highlighted</div>
</body>
</html>
Next, create the style.less file.
style.less
p, div {
color : red;
font-family:Lucida Console;
& + & {
color : green;
background-color: yellow;
font-family: "Comic Sans MS";
}
}
You can compile the style.less to style.css by using the following command −
lessc style.less style.css
Execute the above command; it will create the style.css file automatically with the following code −
style.css
p,
div {
color: red;
font-family: Lucida Console;
}
p + p,
p + div,
div + p,
div + div {
color: green;
background-color: yellow;
font-family: "Comic Sans MS";
}
Output
Follow these steps to see how the above code works −
Save the above html code in the combinatorial_explosion.html file.
Open this HTML file in a browser, the following output will get displayed.
less_parent_selectors.htm
Advertisements