#预处理语言less
预处理语言类似的css代码,但是比css代码更加强大方便,但是不能在浏览器当中运行,因为浏览器只支持css、html、js语言,不支持其他的语言,但是可以使用预处理less语言,提前写好代码,在转换成css语言,因为less语言可以做到很多css语言做不到的地方,而且方便后期的维护。
less它扩展了css语言,增加了变量、mixin、函数等特性,使css更易维护和扩展。
如何将less文件转换成css文件和工具怎么进行安装1、安装Nodejs,安装完毕之后,使用node -v进行测试是否安装成功或者使用npm -v 2、npm install less -g(global),安装完毕之后就可以在cmd窗口当中使用lessc代码
变量
首先使用@定义一个变量可以使@color:red;
然后在使用变量
div {
color:使用变量@color;
}
这里设置完之后,打开cmd窗口,然后拷贝文件地址,在cmd窗口中,首先转换到文件所存在的磁盘中,比如D盘,使用d:先切换到D盘,然后输入cd粘贴所复制的文件路径,然后切换到相关的目录,不要切换到相关的文件,因为切换不到相关的文件,之后可以输入ls查看相关的文件,之后输入lessc 文件名称.less 文件名称.css这样就完成了转换
混入
.temp {
border-top:1px solid red;
border-bottom:1px solid black
}
#header {
background: #f1f1f1;
less使用混入直接输入名称就可以.temp
}
div{
font-size:18px;
.temp
}
混入适合经常引用到的代码比如版心什么的
带参数的混入
.border-radius(此处是定义的意思@radius){
border-radius:@radius;
需要加上浏览器的前缀
-moz-border-radius:@radius;
-webkit-border-radius:@radius;
-o-border-radius:@radius;
}
div{
background:red;
.border-radius(此处就可以直接输入参数4px)
}
div.home{
.border-radius(10px)
}
带参数的混入适合经常用到的代码但是参数却不同的地方
嵌套
#footer{
font-size:20px;
ul{
color:red;
li{
background:f1f1f1;
a{
&:hover{
&符号代表的父类本身
}
}
}
}
}
嵌套相当于后代选择器
运算
任何数字、颜色都可以参与运算
首先定义@width: 300px;
div{
width: @width;
height:@width / 2;相当于@width的二分之一的数值
}
在css当中可以使用height: calc(300px / 2);进行运算
内置函数
@color: #e9232c
div{
color: lighten(@color,10%);比@color低10%更轻的颜色
}
import导入文件
首先要有一个文件,然后在新的文件里面输入
@import ".import文件名.less"(就相当于倒入了文件)
.home{
color:@color;
}
#sass语言
sass也是一种css预编译语言,它提供了变量、嵌套、混合、函数等功能,并且完全兼容了css语法sass能够帮助复杂的样式表更有条理,并且易于在项目内部或跨项目共享设计。
sass 文件也是不能在浏览器中运行的,安装sass也是需要Nodejs的,然后在cmd当中输入npm install sass -g, sass的后缀名是 .scss,sass --version可以查看sass版本是否安装成功
变量
sass使用$来定义变量
$color: #e9232c;
div{
color:$color;
}
作用域
$mycolor: red;
h {
$mycolor: black;
color:$mycolor;黑色
}
div {
color:$mycolor;红色
}
变量首先找离自己进的变量
!global吧变量声明为全局的跟在颜色后面。
嵌套
sass的嵌套跟less的嵌套是一样的
#header {
ul{
li{
a{
&:hover{}
}
}
}
}
import导入文件
首先要有需要倒入的文件
然后输入@import "./需要导入的文件名.scss";
div{
color:red;
}
混入
@mixin important-text{
color: red;
font-size:20px;
}在css当中这点是不会保留的
div{
@mixin important-text;
}
混入带参数
使用@mixin来定义混入的名称
@mixin border($radius){
border-radius:$radius;
-moz-border-radius:$radius;
-webkit-border-radius:$radius;
-o-border-radius:$radius;
}
#header {
@include border(10px)
}
继承
.button-basic{
border:1px solid red;
padding:10px
}
.button-success{
@extend .button-basic;继承的意思
color: green;
}
.button-error{
@extend .button-basic;
color: red;
}
经常见到的英语install:安装、package:包、manager:管理者