0

0

使用less(变量,混合,匹配,运算,嵌套)的方法介绍

高洛峰

高洛峰

发布时间:2017-03-17 10:30:34

|

1936人浏览过

|

来源于php中文网

原创

如何使用less及一些常用的(变量,混合,匹配,运算,嵌套)

less的介绍及编译工具

什么是less

1.lesscss是一种动态样式语言,属于css预处理语言的一种,它使用类似css的语法,为css的赋予了动态语言的特性,如变量、继承、运算、函数等,更方便css的编写和维护。
lesscss可以在多种语言、环境中使用,包括浏览器端、桌面客户端、服务端。

less的编译工具

  1. Koala 考拉 --编译的时候如果没有建CSS文件夹 Koala会自动给你生成一个
    如何设置语言
    使用less(变量,混合,匹配,运算,嵌套)的方法介绍
    如何编译
    - 使用less(变量,混合,匹配,运算,嵌套)的方法介绍

  2. 让webstorm支持less编译:

  • 安装node.js --- 这是一个包管理工具 以后还会用到

  • WIN+R

  • 输入 npm install less

  • .....

  • less的语法

    Ps:下面的知识点会用到上面的知识点 (比如说在混合中会用到变量 加深印象^_^)

    1. 注释

    • // 只在less中显示

    • /**/ 会在编译好的css文件中显示

  • 变量

    • less中的写法

      @ly_width:100px;
      .box {
      width:@ly_width;
      }
    • 编译后在css中显示的是

      .box {
      width:100px;
      }
    • 定义变量用@

  • 混合

    • 解决border-radius兼容

      .border_radius (@radius: 5px) {
      -webkit-border-radius: @radius;
      -moz-border-radius: @radius;
      -ms-border-radius: @radius;
      -o-border-radius: @radius;
      border-radius: @radius;
      }
    • less中的写法

      @ly_width:100px;
      @ly_height:200px;
      @ly_color:green;
      .border(@border_width:3px;) {
      border:@border_width solid red;
      }
      .one {
      width:@ly_width;
      height:@ly_height;
      background-color:@ly_color;
      .border();
      }
    • 编译后在css中显示的是

      .one {
      width: 100px;
      height: 200px;
      background-color: #008000;
      border: 3px solid #ff0000;
      }
    • less中的写法

      @ly_width:100px;
      @ly_height:200px;
      @ly_color:green;
      .border(@border_width) {
      border:@border_width solid red;
      }
      .one {
      width:@ly_width;
      height:@ly_height;
      background-color:@ly_color;
      .border(1px);
      }
    • 编译后在css中显示的是

      .one {
      width: 100px;
      height: 200px;
      background-color: #008000;
      border: 1px solid #ff0000;
      }
    • 先上less中的代码 如果想在.one中应用.border的样式怎么办?

      @ly_width:100px;
      @ly_height:200px;
      @ly_color:green;
      .border {
      border:1px solid red;
      }
      .one {
      width:@ly_width;
      height:@ly_height;
      background-color:@ly_color;
      }
    • 写成下面的样子

      @ly_width:100px;
      @ly_height:200px;
      @ly_color:green;
      .border {
      border:1px solid red;
      }
      .one {
      width:@ly_width;
      height:@ly_height;
      background-color:@ly_color;
      .border;
      }
    • 编译后在css中显示的是
      .border { border:1px solid red; } .one { width: 100px; height: 200px; background-color: #008000; border: 1px solid red; }

      蛙蛙写作——超级AI智能写作助手
      蛙蛙写作——超级AI智能写作助手

      蛙蛙写作辅助AI写文,帮助获取创意灵感,提供拆书、小说转剧本、视频生成等功能,是一款功能全面的AI智能写作工具。

      下载
    • 不带参数的混合

    • 带参数的混合---不带默认值 (可以传多个参数,以逗号或者分号隔开,推荐用分号 下面以一个参数为例)

    • 带参数的混合---带默认值 (可以传多个参数 下面以一个参数为例)

    • 在解决css3兼容性时候经常用到

  • 匹配模式

    • less中的写法

      //定义上,下,左,右边框的样式
      .border(top;@border_width:5px;@border_color:red){
      border-top:@border_width solid @border_color;
      }
      .border(bottom;@border_width:5px;@border_color:red){
      border-bottom:@border_width solid @border_color;
      }
      .border(left;@border_width:5px;@border_color:red){
      border-left:@border_width solid @border_color;
      }
      .border(right;@border_width:5px;@border_color:red){
      border-right:@border_width solid @border_color;
      }
      //如果想写通用的样式 可以在下面的代码中写 格式是固定的 
      .border(@_,@border_width:5px;@border_color:red){
      border-color:yellow;
      }
      .border_use1 {
      //选择和if差不多 如果是left就调用上面对应的
      .border(left);
      }
      .border_use2 {
      //选择和if差不多 如果是right就调用上面对应的
      .border(right);
      }
    • 编译后在css中显示的是

      .border_use1 {
      border-left:5px solid #ff0000;
      border-color:yellow;
      }
      .border_use2 {
      border-right:5px solid #ff0000;
      border-color:yellow;
      }
    • 可以理解成if 和上面的混合有些相似

  • 运算

    • less中的写法

      @ly_width:100px;
      .one {
      width:@ly_widht + 100;
      }
    • 编译后在css中显示的是

      .one {
      width:200px;
      }
    • 运算提供了加,减,乘,除操作,还可以做属性值和颜色的运算...

  • 嵌套

    • html结构

    • less中的写法

      @ly_width:100px;
      @ly_height:200px;
      @ly_color:red;
      .one {
      width:@ly_width;
      height:@ly_height;
      background-color:@ly_color;
      .two {
          background-color: green;
      }
      }
    • 编译后在css中显示的是

      .one {
      width: 100px;
      height: 200px;
      background-color: #ff0000;
      }
      .one .two {
        background-color: green;
      }
    • 可以在一个选择器中嵌套另一个选择器,代码看起来层次分明,提高代码可维护性

  • @arguments变量

    • less中的写法

      //和前面提到的混合一起举个栗子  
      .border(@border_width;@border_style;@border_color){
      border:@arguments;
      }
      .one {
      .border(1px;solid;red);
      }
    • 编译后在css中显示的是

      .one {
      border:1px solid #ff0000;
      }
    • 可以包含所有的变量,将变量一起处理

    相关专题

    更多
    Golang 分布式缓存与高可用架构
    Golang 分布式缓存与高可用架构

    本专题系统讲解 Golang 在分布式缓存与高可用系统中的应用,涵盖缓存设计原理、Redis/Etcd集成、数据一致性与过期策略、分布式锁、缓存穿透/雪崩/击穿解决方案,以及高可用架构设计。通过实战案例,帮助开发者掌握 如何使用 Go 构建稳定、高性能的分布式缓存系统,提升大型系统的响应速度与可靠性。

    26

    2026.01.09

    java学习网站推荐汇总
    java学习网站推荐汇总

    本专题整合了java学习网站相关内容,阅读专题下面的文章了解更多详细内容。

    38

    2026.01.08

    java学习网站汇总
    java学习网站汇总

    本专题整合了java学习网站相关内容,阅读专题下面的文章了解更多详细内容。

    0

    2026.01.08

    正则表达式 删除
    正则表达式 删除

    本专题整合了正则表达式删除教程大全,阅读专题下面的文章了解更多详细教程。

    49

    2026.01.08

    java 元空间 永久代
    java 元空间 永久代

    本专题整合了java中元空间和永久代的区别,阅读专题下面的文章了解更多详细内容。

    4

    2026.01.08

    java 永久代和元空间
    java 永久代和元空间

    本专题整合了java中元空间和永久代的区别,阅读专题下面的文章了解更多详细内容。

    0

    2026.01.08

    java成品网站源码资源大全
    java成品网站源码资源大全

    本专题整合了java成品网站源码相关内容,阅读专题下面的文章了解更多详细内容。

    20

    2026.01.08

    java过滤器教程大全
    java过滤器教程大全

    本专题整合了java过滤器相关教程,阅读专题下面的文章了解更多详细内容。

    6

    2026.01.08

    作业帮网页版入口地址大全
    作业帮网页版入口地址大全

    本专题整合了作业帮网页版地址整理,阅读专题下面的文章了解更多详细内容。

    7

    2026.01.08

    热门下载

    更多
    网站特效
    /
    网站源码
    /
    网站素材
    /
    前端模板

    精品课程

    更多
    相关推荐
    /
    热门推荐
    /
    最新课程
    李炎恢bootstrap视频教程
    李炎恢bootstrap视频教程

    共26课时 | 9.8万人学习

    布尔教育jQuery实战视频教程
    布尔教育jQuery实战视频教程

    共37课时 | 7.7万人学习

    jQuery基础视频教程
    jQuery基础视频教程

    共36课时 | 7.1万人学习

    关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送

    Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号