LESS - @media 内部的作用域/扩展



描述

在 `@media` 声明内,应该编写 `extend`。`extend` 只匹配存在于相同 `@media` 声明内的选择器。`@media` 声明中的 `extend` 不匹配嵌套声明内的选择器。

示例

以下示例演示了在 LESS 文件中在 `@media` 内使用作用域扩展:

extend_syntax.htm

<!doctype html>
   <head>
      <link rel = "stylesheet" href = "style.css" type = "text/css" />
   </head>

   <body>
      <h2>Example using extend inside media</h2>
      <img src="/less/images/less-extend/nature.jpg" class = "style">
   </body>
</html>

接下来,创建 *style.less* 文件。

style.less

@media screen {
   .style {
      width:500px;
   }
   @media (min-width: 1023px) {
      .style {
         width:500px;
      }
   }
}
.cont:extend(.style) {}

您可以使用以下命令将 *style.less* 文件编译为 *style.css*:

lessc style.less style.css

执行上述命令;它将自动创建包含以下代码的 *style.css* 文件:

style.css

@media screen {
   .style,
   .cont {
      width: 500px;
   }
}

@media screen and (min-width: 1023px) {
   .style,
   .cont {
      width: 500px;
   }
}

输出

请按照以下步骤查看上述代码的工作原理:

  • 将上述 html 代码保存到 **extend_syntax.htm** 文件中。

  • 在浏览器中打开此 HTML 文件,将显示以下输出。

Less Extend
less_extend.htm
广告