欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  web前端

CSS预处理之Less_html/css_WEB-ITnose

程序员文章站 2022-05-18 23:26:34
...
趁这几天有空,了解一下css预处理的知识

less简介

Less 是一个Css 预编译器,意思指的是它可以扩展Css语言,添加功能如允许变量(variables),混合(mixins),函数(functions) 和许多其他的技术,让你的Css更具维护性,主题性,扩展性。

Less 可运行在 Node 环境,浏览器环境和Rhino环境.同时也有3种可选工具供你编译文件和监视任何改变。

语法

  • 变量

    声明一个变量:

  • @width:100px;.test {    width: @width;}
  • 混合
  • .border {    border: 1px solid red;}.test {    width: @box_width;    height: 100px;    background: #ccc;    .border;  //直接混合使用}    
  • 嵌套
  • 正常写法

    .test {  font-size: 10px;}. test a {  color: red;}

    less 写法:

    .test {   font-size: 10px;a {  color: red;  }}

    同样可以包含伪类:

    .test {    font-size: 10px;    a {       &:hover {          color: blue;       }      color: red;    }}
  • 运算
  • @width: 5px;.test { width: @width + 10;  //15px}

    less能推断此处的单位

  • 函数
  • .border_radius(@width:5px) { //5px是可选参数,表示默认值    -webkit-border-radius: @width;    -moz-border-radius: @width;    -ms-border-radius: @width;    border-radius: @width;}.test {    .border_radius(20px);  }
  • 命名空间
  • .bundle {  .button {    display: block;    border: 1px solid black;    background-color: grey;    &:hover {      background-color: white    }  }}//现在如果我们想在 .header a 中混合 .button 类,那么我们可以这样做:.header a {      color: orange;      .bundle > .button;    }
  • 作用域
  • @var: red;.page {  #header {    color: @var; // white  }  @var: white;}
  • 避免编译
  • .test {    width: ~'calc(300px - 30px)';}
  • 注释
  • //不会被编译css /**/会被编辑到css

    更多使用语法,请查看less中文网。 http://lesscss.net/ 个人github博客:aralic.github.io

    相关标签: CSS预处理之Less