LESS - Mixin scope


Advertisements

Description

Variables cannot be overridden in the caller's scope when they are defined directly in it. However, variables are not protected and will be overridden when it is defined in callers parent scope.

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

@val: 20px; // callers parent scope - no protection
.mixin() {
   @val: 10px;
   @definedOnlyInMixin: 10px;
}

.myclass {
   padding-left: @val * @definedOnlyInMixin;
   .mixin();
}

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 {
   padding-left: 100px;
}

Output

Follow these steps to see how the above code works −

  • Save the above html code in the less_mixin_as_function_scope2.html file.

  • Open this HTML file in a browser, the following output will get displayed.

LESS Mixin Scope
less_mixins_as_functions

Useful Video Courses


Video

LESS Online Training

20 Lectures 1 hours

Anadi Sharma

Video

Serverless Development with AWS Lambda and NodeJS

44 Lectures 7.5 hours

Eduonix Learning Solutions

Video

Delegation Mastery: Learn to Outsource Your Work and Do Less

17 Lectures 2 hours

Zach Miller

Video

Create a WordPress Website in 24 Hours or Less Guaranteed

23 Lectures 1.5 hours

Zach Miller

Video

Become PHP Facebook Developer: Password-Less Authentication

34 Lectures 4 hours

Syed Raza

Video

AWS LAMBDA- Serverless Computing

31 Lectures 3 hours

Harshit Srivastava

Advertisements