- Less Basic Tutorial
- Less - Home
- Less - Overview
- Less - Installation
- Language Features
- 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 - Useful Resources
- Less - Discussion
LESS - Changing Selector Order
Description
Prepending a selector to the inherited (parent) selectors is useful when selector ordering is changed. This is achieved by placing & after the selector. For instance, when you use Modernizer, you may wish to specify different rules depending on supported features.
Example
The following example demonstrates the use of changing selector order in the LESS file −
<html> <head> <link rel = "stylesheet" href = "changing_selector_order.css" type = "text/css" /> <title>Parent Selector</title> </head> <body> <div class = "header"> <div class = "menu"> <h2>Welcome to TutorialsPoint</h2> <p>It is possible to reference the parent selector by using &(ampersand) operator.</p> </div> </div> </body> </html>
Now, create the style.less file.
style.less
.header { .menu { border-radius: 5px; border: 1px solid red; & { padding-left: 200px; } } }
You can compile the style.less file 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
.header .menu { border-radius: 5px; border: 1px solid red; padding-left: 200px; }
The .no-borderradius & selector will prepend .no-borderradius to its parent selector .header .menu
Output
Follow these steps to see how the above code works −
Save the above html code in the changing_selector_order.htm file.
Open this HTML file in a browser, the following output will get displayed.