Less学习

news/2024/7/24 7:32:13 标签: less

Less(css预处理器)学习

less_2">less的优势

  1. css使用不能看出html节点的嵌套结构,less的嵌套可以看出html的结构
  2. less提高的是程序员的编码效率,而不是运行的速度。

Less的使用方式

  1. 直接引入,style标签要做引入的less.js之上(这种方式是运行时编译,会降低网页的加载速度)。
  2. 使用考拉编译less,将整个.less文件编译成css文件
  3. 使用node.js或各种脚手架

Less的使用

  1. 注释方式

    • //不会编译到css中
    • /**/会编译到css中
  2. Less中的变量

    • 定义属性值变量使用@开头,例如:@color:属性值;使用时直接@color使用
    • 定义选择器、URL变量或属性变量定义方式不变(一般用不到),例如:@m:margin;使用时需要加上{},@{m}
    • 变量的作用域是块作用域
    • 变量的延迟加载,在同一个作用域中如果定义多个相同的变量,它会将最后一个变量的值赋给属性。
  3. Less的嵌套规则

    • 嵌套和html的嵌套类似

      less">.a{
          .b{
              
      	}
      }
      //a设置的是class为a的样式,设置的是css选择器中.a .b选择到的区域样式即class为a中的所有class为b标签的标签。
      
    • &运算符直接嵌套是后端关系,&一般用在伪类和伪元素选择器上。

      less">.a{
          &:hover{
      	}
      }
      /*等价于css的.a:hover*/
      
  4. Less的导入导出和css的一样

    • @import
  5. Less中的混合(mixin,以点开头,简单来说就是复制粘贴)

    • 混合(Mixin)是一种将一组属性从一个规则集包含(或混入)到另一个规则集的方法。

      例子:

      less">.a(){
      	color:red;
      }
      .b{
          .a();
      }
      .c{
          .a()
      }
      //.a是一个样式的集合,混合就是在.b和.c中引入.a这个样式集合。可以在.a后面不加括号,它将仍在编译出的css中出现。在.a后加括号则使.b和.c中的.a都被.a中的内容替换,而.a不会出现在编译后的css中。
      
    • 普通混合(不加括号的)

    • 不带输出的混合(加括号的)

    • 带参数的混合

      less">.a(@color,@h,@w){
          width:@w;
          height:@h;
          color:@color
          background-color:@color;
      }
      .a(red,100px,100px);//使用混合
      
    • 带默认参数的混合

      less">.a(@color:red,@h:100px,@w:100px){//默认值
          width:@w;
          height:@h;
          color:@color
          background-color:@color;
      }
      .a();//使用混合不传参数使用默认值
      
    • 命名参数混合

      less">.a(@color:red,@h:100px,@w:100px){//默认值
          width:@w;
          height:@h;
          color:@color
          background-color:@color;
      }
      .a(@h:500px);//使用混合,除了修改的h外其使用的是默认值
      
    • 匹配模式(就是给混合添加上一个标识符,来提高代码的复用性)

      less">.a(L,@width,@height){//L为标识符,@width和@height为变量
          //color:red; 可复用
          width:@width;
          height:@height;
      }
      .a(R,@width,@height){//L为标识符,@width和@height为变量
          //color:red; 可复用
          width:@width;
          height:@height;
      }
      .a(@_){//与匹配模式的混合名称相同,在使用匹配模式的任一混合时会自动加入此混合中的less属性
          color:red; //可复用部分
      }
      

      注意: IE的样式不兼容一般可以使用overflow:hidden解决

    • arguments(实参列表,一个伪数组)是混合的所有参数

      less">.a(@1,@2,@3){
      	border:@arguments;
      }
      .b{
      	.a(1px, solid, red);//将整个参数列表传入border,border:1px, solid, red;
      }
      
  6. Less的计算

    • 可以使用加减乘除算数运算,运算的数字只需要一个数字带单位即可。
  7. Less的继承(性能高于混合,灵活低于混合,不可以带参数)

    • :extend(无参数的混合)
    • :extend(无参数的混合,all)连带所有的混合的状态
  8. Less避免编译
    待续。。。。。


http://www.niftyadmin.cn/n/489832.html

相关文章

JS数组高阶函数

JS数组高阶函数 map函数(映射函数) 此函数的作用是遍历数组或对象中每一个元素,对每一个元素进行统一的处理。 map函数接受一个参数。参数的类型为function,返回值是一个数组。函数决定了对每个元素进行何种操作,函…

Windows系统下nodejs的安装,配置,淘宝镜像使用

nodejs安装 下载nodejs nodejs下载地址 LTS为稳定版,另一个是最新的开发版,选择稳定版即可。 nodejs安装 下载好安装包后双击安装 直接next选择要安装的盘一直next下去即可。 判断是否安装成功 winR调出命令行窗口 输入node -v回车 如果显示出…

vue脚手架安装时出现Error EPERM operation not permitted这个错误

vue脚手架安装时出现Error: EPERM: operation not permitted这个错误 **原因:**出现这个错误是因为安装全局模块时没有管理员权限,需要以管理员身份运行命令提示符窗口。 在搜索框中输入cmd然后右键以管理员身份运行,再次安装即可 再次运行…

npm安装模块时需要使用管理员权限,怎样做才能一劳永逸?

npm安装模块时需要使用管理员权限,怎样做才能一劳永逸? 使用每次使用npm安装都需要用管理员身份运行的话,是很麻烦的这种情况多半是node安装的问题,node程序没有写的权限权限。报错如下 找的node的文件夹更改权限即可 找的nodejs…

CSS隐藏滚动条,保留滚动功能

CSS隐藏滚动条,保留滚动功能 原理:设置父级为溢出隐藏,而子级不进行溢出隐藏设置同时改变子级的宽度使进度条溢出到父级外面。 设置父级overflow:hidden;是为了使父级溢出隐藏。再设置子级的y轴方向可以滚动,然后设置子级的宽度…

使用js获取url中的参数并返回一个对象

使用js获取url中的参数并返回一个对象 今天写一个原生的html需要进行url的参数提取,为了方便以后用到时直接用将这个方法记录在此。 思路:使用window.loaction.href获取到当前页面的链接,然后对这个url字符串进行处理。这些处理的前提是你要…

CSS3 2D转换

CSS3 2D转换 进行2D转换使用的属性 使用transform属性可以进行一些二维的图形变换,如:平移、旋转等 translate(x, y),移动方法,使元素从当前位置向x和y方向移动相应的像素距离rotate,旋转方法,使元素相对…

js时间戳转时间

js时间戳转时间 function timesTamp(createdAt) {//时间戳转时间&#xff1b;时间戳->yyyy-mm-dd hh:mm:ssvar date new Date(createdAt);let Y date.getFullYear() "-";let M (date.getMonth() 1 < 10? "0" (date.getMonth() 1): date.getM…