LESS - Guarded Namespaces



Description

When guard is applied to namespace, a mixin defined by the namespace is used only when guard condition returns true. The namespace guard is similar to guard on mixins.

Example

The following example demonstrates the use of guarded namespaces in the LESS file −

<html>
   <head>
      <link rel = "stylesheet" href = "style.css" type = "text/css" />
      <title>Guarded Namespaces</title>
   </head>

   <body>
      <h2>Welcome to Tutorialspoint</h2>
      <p>This will paragraph be displayed red, when (@color = blue) in style.less 
      and when color is other than blue, then this paragraph will be default black.</p>
   </body>
</html>

Next, create the style.less file.

style.less

@import "http://www.tutorialspoint.com/less/lib.less";
#namespace when (@color = blue) {
   .mixin() {
      color: red;
   }
}

p {
   #namespace .mixin();
}

The following code will import the lib.less file into style.less from the path https://www.tutorialspoint.com/less/lib.less path −

lib.less

@color: blue;

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 {
   color: red;
}

Output

Follow these steps to see how the above code works −

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

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

LESS Guarded Namespacess
less_mixins.htm
Advertisements