less 即学即用

推荐工具

koala 是一个前端预处理器语言图形编译工具,支持Less、Sass、Compass、CoffeeScript,帮助web开发者更高效地使用它们进行开发。跨平台运行,完美兼容windows、linux、mac。

/* 是被编译的注释 */
// 是不被编译的注释

less中声明变量,

要用@开头,例如:@变量名:值

@test_width: 300px;
.classname{
    width:@test_width;
}

混合

  • 基础混合
aborder{   //引用时不带括号 值
    border:solid 5px pink;
}
.classname01{
    width:@test_width;
    .aborder;
}
.classname02{
    .classname01;
    margin-left:10px;
}
  • 混合-可带参数
.border_02(@border_width){
    border:solid yellow @border_width;
}
.test_hunhe{
    .border_02(30px);
}
  • 混合-默认带值
.border_03(@border_width:10px){
    border:solid green @border_width;
} 
.test_hunhe_03{
    border_03();
}

// 混合的例子

border_radius(@radius:5px){
    -webkit-border-radius:@radius;
    -moz-border-radius:@radius;
    border-radius:@radius;
}
radius_tes{
 width:100px;
 height:100px;
 border_radius();
}

匹配模式

匹配模式- 小三角标实例

.triangle(top,@w:5px,@c:#ccc){   //三角向上
    border-width: @w;
    border-color: transparent transparent @c transparent;
    border-style: dashed dashed solid dashed;
}
.triangle(buttom,@w:5px,@c:#ccc){  //三角向下
    border-width: @w;
    border-color: @c transparent transparent transparent;
    border-style: solid dashed dashed dashed;
}
.triangle(left,@w:5px,@c:#ccc){   //三角向左
    border-width: @w;
    border-color: transparent @c transparent transparent;
    border-style: dashed solid dashed dashed;
}
.triangle(right,@w:5px,@c:#ccc){   //三角向右
    border-width: @w;
    border-color: transparent transparent transparent @c;
    border-style: dashed dashed dashed solid;
}
.triangle(@_,@w:5px,@c:#ccc){   //共用样式
    width: 0;
    height: 0;
    overflow: hidden;
}
.sanjiao{    
    .triangle(left,36px);
}

匹配模式- 定位实例

.pos(a){
    position: absolute;
}
.pos(r){
    position: relative;
}
.pos(f){
    position: flex: 
}
.prepre{
    width:200px;
    height:200px;
    background-color:green;
    .pos(a);
}

运算

任何数字,颜色或者变量都可以参与运算,运算应该被包裹在括号中

@test_width:300px;
@test_hight:200px;
.box{
    width:@test_width + 30  //宽度加 30 像素
    height:(@test_hight-40)*7 // 先减去40,在乘7倍
    color:#ccc - 10;
}

嵌套规则

& 对尾类使用 hoverfocus
对链接的使用 &

a{
    color:#eee;
    &:hover{
        cool: red;
    }
}

变量 @arguments

@arguments 包含了所有传递进来的参数

.border_reg(@w:30px,@c:red,@ll:solid){
    border: @arguments
}
test_arguments{
    .border_reg(68px);
}

避免编译

有时候需要输出一些不正确的css 语法或者使用一些less 不认识的专有语法,在字符串前加上一个 ~

.test_02{
    width:~'calc(300px - 20px)';
}

!important 关键字 //层级优先最高

.border_03(@border_width:10px){
    border:solid green @border_width;
} 
.test_important{
    border_03()!important;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Sass 和 Less 是两种 CSS 预处理器。 Sass 是一种功能强大的 CSS 预处理器,它为 CSS 增加了变量、嵌套、混合等功能,使得 CSS 的编写更加方便和灵活。 Less 是一种轻量级的 CSS 预处理器,它为 CSS 增加了变量、嵌套、混合、函数等功能,使得 CSS 的编写更加方便和灵活。 Sass 和 Less 都是为了提高 CSS 的编写效率而设计的,但是 Sass 比 Less 功能更为强大,并且 Sass 的语法也更加丰富。 ### 回答2: Sass和Less是两种流行的CSS预处理器,它们的关系可以从以下几个方面来描述。 首先,它们的共同点在于都是为了解决CSS编写过程中的一些不便之处而产生的,例如,样式复用、变量和函数的使用以及嵌套等。它们都提供了一种更具可维护性和可扩展性的方式来编写CSS。 其次,它们的语法有所不同。Sass使用类似于Ruby的语法,使用缩进和冒号来表示层级嵌套和属性赋值。而Less则更接近于常规的CSS写法,使用大括号来表示层级嵌套和属性赋值。因此,对于熟悉CSS语法的开发者来说,可能更容易上手Less。 此外,在功能和特性上,Sass和Less也存在一些差异。Sass提供了更丰富的功能,例如,混合(Mixins)、继承(Inheritance)、扩展(Extension)等,使得样式的重用和扩展更加方便。而Less的功能相对较少,但其学习曲线较平缓,对于一些简单的项目可能会更适合。 最后,在使用上,Sass和Less都需要通过编译器将其转换为常规的CSS文件才能被浏览器所解析和渲染。这意味着,在项目中使用它们时需要安装相应的编译工具,并通过命令行或构建工具来进行编译。 总结来说,Sass和Less都是流行的CSS预处理器,它们都提供了一种更便捷和可维护的方式来编写CSS。它们之间的主要区别在于语法和特性上的差异,以及在一些复杂项目中的选择和适用性。 ### 回答3: Sass与Less是两种流行的CSS预处理器,它们都提供了许多便捷的方式来编写和组织CSS代码。 首先,Sass和Less都允许使用变量、嵌套规则、混合、继承等高级功能,这些特性可以大大简化CSS代码的编写,并提高代码的可维护性。 Sass与Less的主要区别在于它们的语法不同。Sass使用的是缩排式语法,即通过缩进来表示层级关系,而Less则使用的是类似于CSS的语法。对于熟悉CSS的开发者来说,学习和使用Less可能更容易上手,而对于通过其他编程语言学习的开发者来说,Sass的缩排式语法可能更容易理解和使用。 另一个不同点是编译器的选择。Sass有Sass和SCSS两种语法,而Less只有一种语法。在选择编译器方面,Sass可以使用Dart Sass和Node Sass两个主要的编译器,而Less则使用Less.js作为其主要的编译器。 值得注意的是,Sass和Less之间存在相互转换的工具,可以将Sass语法转换为Less语法,或将Less语法转换为Sass语法。这进一步增加了它们的相互关系。 总的来说,Sass和Less都是强大的CSS预处理器,它们在功能和特性上有所不同,但都可以极大地提高CSS代码的开发效率和可维护性。根据个人的喜好和项目需求,选择使用其中之一或两者结合,都可以帮助开发者更好地管理和组织CSS代码。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值