zoukankan      html  css  js  c++  java
  • Less的Mixin

    什么是Mixin

    Less中,允许你将一个类嵌入到另一个类中,被嵌入的类也可以看作变量。换句话说,你可以用一个类定义样式,然后把它当作变量,在另一个类中,只要引用变量的名字,就能使用它的所有属性,

    Less把这种特性称作 mixin,中文把翻译为“混入”或“混合”,其目的就是从现有的样式中添加属性。请看以下Less代码:

    1. .bordered {
    2.   border-top: dotted 1px black;
    3.   border-bottom: solid 2px black;
    4. }

    上述代码中,.bordered 定义了一个属性集。然后,在任何需要使用 .bordered 属性集的选择器中,只需像下面这样调用就可以了:

    1. #menu a {
    2.   color: #111;
    3.   .bordered;
    4. }
    5. .post  a {
    6.   color: red;
    7.   .bordered;
    8. }

    这样一来,.bordered中定义的属性集,就会在 #menu a 和 .post a 中体现出来。编译后的CSS代码为:

    1. .bordered {
    2.   border-top: dotted 1px black;
    3.   border-bottom: solid 2px black;
    4. }
    5. #menu a {
    6.   color: #111;
    7.   border-top: dotted 1px black;
    8.   border-bottom: solid 2px black;
    9. }
    10. .post  a {
    11.   color: red;
    12.   border-top: dotted 1px black;
    13.   border-bottom: solid 2px black;
    14. }

    从上面的代码可以看出:mixin 其实就是一种嵌套,简单的讲,mixin 就是规则级别的复用。除了类选择器外,你也可以使用 id 选择器来定义 mixin。如:

    1. #bordered {
    2.   border-top: dotted 1px black;
    3.   border-bottom: solid 2px black;
    4. }
    5. #menu a {
    6.   color: #111;
    7.   #bordered;
    8. }

    编译后的CSS代码为:

    1. #bordered {
    2.   border-top: dotted 1px black;
    3.   border-bottom: solid 2px black;
    4. }
    5. #menu a {
    6.   color: #111;
    7.   border-top: dotted 1px black;
    8.   border-bottom: solid 2px black;
    9. }

    从上面的代码可以看出,使用 class、id 定义mixin 时,mixin的定义会被原封不动的输出到编译生成的CSS代码中。

    如果希望编译生成的CSS代码中不包含mixin的定义,在定义 mixin时,只需在 class、id 的后面添加一对小括号即可。而在调用时,小括号是可选的。如:

    1. #x() {
    2.   border-top: dotted 1px black;
    3.   border-bottom: solid 2px black;
    4. }
    5. #menu a {
    6.   color: #111;
    7.   #x;
    8. }

    编译后的CSS代码为:

    1. #menu a {
    2.   color: #111;
    3.   border-top: dotted 1px black;
    4.   border-bottom: solid 2px black;
    5. }
  • 相关阅读:
    CDH环境搭建及部署
    Window 安装Sqoop 环境
    软件——keil的查找,错误,不能跳转到相应的行
    软件——机器学习与Python,输入输出的用法
    软件——机器学习与Python,聚类,K——means
    软件——机器学习与Python,if __name__ == '__main__':函数
    硬件——STM32,ADC篇
    生活的开始
    硬件——nrf51822第三篇,按键控制小灯
    硬件——nrf51822第二篇,如何设置keil用来下载程序
  • 原文地址:https://www.cnblogs.com/waibo/p/7899806.html
Copyright © 2011-2022 走看看