Less前端框架--编写模块化的样式文件

Posted Lily的前端笔记

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Less前端框架--编写模块化的样式文件相关的知识,希望对你有一定的参考价值。

Less是一门CSS预处理语言,它扩展了CSS语言,增加了变量,混入,函数等特性,使CSS更易维护和扩展。
less使用考拉Koala软件来转换为css格式

说明一下:

把装有less文件的less文件夹拖拽进Koala软件,然后按Comple转换,会出现success弹窗,证明转换成功
以下是相关less的知识点,还有其他关于less知识点我没有在这里列出来,也没有深入去学了,因为对于本人来说以下的知识点学完已经够本人使用来编写样式了,有兴趣深入学习less的你们,就需要你们自己去学了,希望以下知识点对你们有所帮忙:

注释(/**/ (可以选中多行注释)和//(一行行注释))

Less前端框架--编写模块化的样式文件


变量</a>(@开头)

@test_width:300px;

.box{

  Width:@test_width;

}

例子

Less前端框架--编写模块化的样式文件

需要注意的地方

想声明变量的话一定要用@开头例如:@变量名:值

混合(定义)

.box{

  width:@test_width;

height:@test_width;

background-color:yellow;

 

.border;

}

//混合

.border{

  Border:5pxsolid prink;

}

例子

Less前端框架--编写模块化的样式文件

注意:若你混合值那有参数,使用时需要带参数值;但如果混合值有参数而且赋予了值。使用时可以不带参数


.border_03(@border_width:10px){

    border:solid green @border_width;

}

.test_hunhe_03{

  .border_03();

}

如何形成三角形?

.saojiao{

   width:0;

   height:0;

   overflow:hidden;

   border-width:10px;

   border-color:transparent transparent red transparent;

   border-style:dashed dashed solid dashed;

}

@_</a>的表明是必须把其带上,不管执行哪个关于它的代码

.triangle(@_,@w:5px,@c:#ccc){

   width:0;

   height:0;

   overflow:hidden;

}

运算</a>(加、减、乘)

加法:

@test_01:300px;

 

.box_02{

  Width:@test_01+20;

}

 

减法:

@test_01:300px;

.box_02{

   Width:@test_01-20;

}

 

@test_01:300px;

.box_02{

  Width:@test_01-20*5;

}


颜色</a>也可以运算(用得比较少)

@test_01:300px;

.box_02{

   width(@test_01-20)*5;

   color:#ccc-10;

}

函数运算
例子

嵌套

Less中嵌套

两种用法:1&对尾类使用  -hoverfocus

                 2)对连接的使用  -&-item

例子

如:css中的表示

.list{}

.list li{}

.list a{}

.list span{}


在list里面嵌套(在less中的表示)

.list{

   width:600px;

   margin:30pxauto;

   padding:none;

 

   li{

   height:30px;

line-height:30px;

   background-color:pink;

   margin-bottom:5px;

   padding:0 10px;

   }

 

}


在less中<a>hover</a>的写法

a{

   float:left;

   &:hover{

    color:red;

}

span{

   float:right;

}

}

 

相当于

.list a{}

.list a:hover{}

//&代表他的上一层选择器


@arguments变量(用得不是很多)

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

如果你不想单独处理每一个参数的话就可以像这样写:

 

.border_arg(@w:30px,@c:red,@xx:solid){

   border:@arguments;

}

@argunments代表所有的@w/@c/@xx

.border_arg(@w:30px,@c:red,@xx:solid){

   border:@arguments;

}

 

.test_arguments{

  .border_arg(40px);

}


注意:这个改变了@w的参数

避免编译

1)有时候我们需要输出一些不正确的css语法或者使用一些less不认识的专有语法

2)要输出这样的值我们可以在字符串前加上一个~

例如:width:~’ calc(100%-35)’


.test_03{

  Width:~’calc(300px-30px)’

}

说明:这样就不会编译(比较好,可以用在路径等方面)

! important</a>(优先级最高的)(一般不要用上)

!important关键字

-会为所有混合所带来的样式,添加上!important

.test_important{

  .border_radius() !important;

}











以上是关于Less前端框架--编写模块化的样式文件的主要内容,如果未能解决你的问题,请参考以下文章

前端ui框架好看的都有哪些

less框架简介

推荐几个精致的前端web UI框架

爱创课堂----推荐你们几个精致的前端Web UI框架 | 干货

前端最近流行的框架有哪些?

几个UI框架