- 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 - Mixin scope
Description
Mixins consisting of variables are visible and can be used in caller's scope. But there is one exception, if the caller contains a variable with the same name, then that variable is not copied into the caller's scope. Only the variables inside the caller’s scope are protected and the inherited variables are overridden.
Example
The following example demonstrates the use of mixin scope in the LESS file −
<html> <head> <link rel = "stylesheet" href = "style.css" type = "text/css" /> <title>Mixins Scope</title> </head> <body> <div class = "myclass"> <h2>Welcome to Tutorialspoint</h2> <p>LESS is a CSS pre-processor that enables customizable, manageable and reusable style sheet for web site.</p> </div> </body> </html>
Next, create the style.less file.
style.less
.mixin() { @bgcolor: #C0C0C0; } .myclass{ .mixin(); background-color: @bgcolor; }
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
.myclass { background-color: #C0C0C0; }
Output
Follow these steps to see how the above code works −
Save the above html code in the less_mixin_as_function_scope.html file.
Open this HTML file in a browser, the following output will get displayed.
Variables cannot be overridden in the callers scope when they are defined directly in it. For more information click here.