Less和Sass的使用

【Less中的变量】

  1、声明变量:@变量名:变量值;

     使用变量:@变量名

@length:100px;
@color:yellow;
@opa:0.5;

  >>>Less中变量的类型:

    ①数字类:1 10px

    ②字符串:无引号字符串 red 有引号字符串 "haha"

    ③颜色类:red #000000 rgb()

    ④值列表类:用逗号或空格分隔10px solid red

  >>>变量使用原则:多次频繁出现的值、需要修改的值,设为变量。

#div1{
    width: @length;
    height: @length;
    background-color: @color;
    opacity: @opa;
    .borderRadius;
    .setMargin(top_,10px);
}

  

2、混合(Mixins)

  ①无参混合

   声明:.name{}; 选择器中调用 .name

  ②带参混合

   无默认值声明:.name(@param){} 调用:.name(parValue);

   有默认值声明:.name(@param:value){} 调用:.name(parValue); parValue可省

    >>>如果声明时,参数没有默认值,则调用时必须赋值,否则报错

    >>>无参混合,会在css中编译出同名的class选择器;有参的不会

3、Less的匹配模式

  使用混合进行匹配,类似于if结构;

  声明:.name(条件一,参数){} .name(条件二,参数){} .name(条件三,参数){} .name(@_,参数){}

.setMargin(top_,@width){
    margin-top: @width;
}
.setMargin(bottom_,@width){
    margin-bottom: @width;
}
.setMargin(@_,@width){
    padding: 10px;
}

  调用:.name(条件值,参数值);

.setMargin(top_,10px);

  匹配规则:根据调用时提供的条件值,去寻找与之匹配的"Mixins"执行。其中@_表示永远需要执行的部分。

4、Less中的运算

  + - * /

  颜色计算时,红绿蓝分三组计算。组内可进位,组间互不干涉

【Less中的嵌套】

  1、嵌套默认是后代选择器,如果需要子代选择器,则在子代前面加>

  2、& 表示上一层,&:hover 表示上一层的hover事件

section{
    p{
        color: blueviolet;
        background-color: #00FFFF;
        text-align: center;
    }
    ul{
        padding: 0px;
        list-style: none;
        li{
            float: left;
            margin: 10px;
            width: 100px;
            border: 3px solid #00CED1;
            text-align:center;
            &:hover{
                background-color: cornflowerblue;
                color: white;
            }
        };
    }
}

【Sass中的变量】

  1、声明变量:$变量名:变量值

  2、变量在字符串中嵌套,需使用#{}包裹

border: #{$i}px solid red; 

  3、Sass中的运算:会将单位也进行运算。使用时需注意最终单位

    10px*10px=100px*px

  4、混合宏、继承、占位符

    ①混合宏:声明@mixin name($param:value){}

@mixin hong($color:yellow){
    color: $color;
}

         调用@include name(value);

@include hong;

  

    >>>声明时可以有参,也可无参;可带默认值,也可不带;但是调用时必须符合声明规范,同less

    >>>优点:可以传参

    >>>缺点:会将混合宏中代码copy到对应的选择器中,产生冗余代码

    ②继承:声明:.class{}

.class{
    padding: 10px;
}

        调用:@extend.class;

@extend .class;

    >>>优点:继承的相同代码,可以提取到并集选择器;不会生成同名的class选择器

    >>>缺点:无法进行传参

  综上所述:当需要传递参数时,用混合宏;当有现成class时用继承;当不需要class时,用占位符

  5、if条件结构

    @if 判断条件{}

    @else{}

  6、for循环结构

    @for $i from 1 to 10{} 不含10

    @for $i from 1 through 10{} 包含10

@for $i from 1 through 4{
    .border#{$i}{
        border: #{$i}px solid red;
    }
}

  7、while循环结构

    $j:1,

    @while 判断条件{}

$j:1;
@while $j<4{
    .while#{$j}{
        border:#{$j}px solid red;
    }
    $j:$j+1;
}

  8、each循环遍历

    @each $item in a,b,c,d{}

  9、函数

    @function func($name){}

@function func($length){
    $length:$length*5;
    @return $length;
}

  【Sass中的嵌套】

  1、选择器嵌套 ul{ li{} } 后代

    ul{ >li{} } 子代

    &表示上一层 div{ ul {li{ &=="div ul li" } } }

  2、属性嵌套:属性名与{之间必须有: 例如 border:{color:red;}

  3、伪类嵌套:ul{li{ &:hover{ "ul li:hover " } } }

    

section{
    p{
        color: #2173B6;
        background-color: #00FFFF;
    }
    ul{
        padding: 0px;
        list-style: none;
        li{
            float: left;
            width: 100px;
            text-align: center;
            margin: 10px;
            border: {
                color: #4E81BD;
                style:solid;
                width: 10px;
            };
            &:hover{
                background-color: #6495ED;
                color: white;
            }
        }
    }
}

  

时间: 2024-10-20 18:51:53

Less和Sass的使用的相关文章

gulp教程(sass,livereload,md5,css压缩,js压缩,img的base64)

环境 node -v  v6.10.3 npm -v  3.10.10 package.json如下: { "name": "zhcsdata", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "test": &

LSEE和SASS的区别

/Less中的注释,但这种不会被编译/* * 这也是Less中的注释,但是会被编译 *  * [Less中的变量] *  * 1.声明变量:@变量名:变量值: *   使用变量:@变量名 *  *  >>>Less中变量的类型: *  ①数字类         ①10px   ②字符串:无引号字符串 red        有引号字符串   "haha" *  ②颜色类red  #000000   rgb()    ③值列表类型:用逗号或空格分割     10px so

sass语法基础知识

文件后缀名 sass有两种后缀名文件:一种后缀名为sass,不使用大括号和分号:另一种就是我们这里使用的scss文件,这种和我们平时写的css文件格式差不多,使用大括号和分号.而本教程中所说的所有sass文件都指后缀名为scss的文件.在此也建议使用后缀名为scss的文件,以避免sass后缀名的严格格式要求报错. //文件后缀名为sass的语法 body background: #eee font-size:12px p background: #0982c1 //文件后缀名为scss的语法 b

sass学习笔记(五):sass的运算

(一).加法 加法运算是 Sass 中运算中的一种,在变量或属性中都可以做加法运算.如: .box {   width: 20px + 8in; } 编译出来的 CSS: .box {   width: 788px; } 但对于携带不同类型的单位时,在 Sass 中计算会报错,如下例所示: .box {   width: 20px + 1em; } 编译的时候,编译器会报错:"Incompatible units: 'em' and 'px'." (二).减法 Sass 的减法运算和加

10天精通Sass 之 处理字符串与数字的函数

Sass的函数简介 Sass中自备了一系列的功能函数,包括: - 字符串函数 - 数字函数 - 列表函数 - 颜色函数 - Introspection函数 - 三元函数 除了Sass中已提供的函数,我们还可以根据自己的需求定义函数,称为自定义函数. 字符串函数 * unquote($string) * :删除字符串中的引号 * quote($string) * :给字符串加引号 unquote()函数 用来删除字符串的引号,如果这个字符串没有引号,则返回原始字符串. .test1 { conte

SASS详解之沿袭(extend)

SASS详解之继承(extend) 每一个类名都有可能有另一个类名的所有样式和它自己的特定样式的.当一个div的身上有两个类名,一个是“one”,另一个是“two”的时候.如下 HTML代码 <div class="one two"> 梦龙小站 </div> CSS代码 .one {width:100px;height:100px;} .two {background:red;border:5px solid #000;} 这就意味着,我们要配备一个很好的记忆力

Sass 基本函数

Sass 中的常用函数 一.字符串函数 1. unquote($string): 删除字符串前后的引号,删除一对引号,如果这个字符串没有带有引号,将返回原始的字符串. 示例: .text1 { content: unquote("'hello'");} 2. quote($string): 给字符串添加引号,而且字符串中间有单引号或者空格时,需要用单引号或双引号括起,否则编译的时候将会报错(解决方案就是去掉空格,或者加上引号).同时 quote() 碰到特殊符号,比如: !.?.>

Sass 和 SCSS 有什么区别?

Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点: 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似. Sass 语法 $font-stack: Helvetica, sans-serif //定义变量 $primary-color: #33

LESS 与 SASS

作为 CSS 的一种扩展,Less 不仅完全兼容 CSS 语法,而且连新增的特性也是使用 CSS 语法.这样的设计使得学习 Less 很轻松,而且你可以在任何时候回退到 CSS. 用less来控制样式,更加的方便,写好的less代码,可以通过编译生成css,这是对css非常强大的扩展,让我们写起代码时,更加的顺畅. 变量,在less中声明变量用@,例如: @test: red; .test{ color: @test; } 编译后: .test{ color: red; } 注:变量只能定义一次

SASS环境搭建及HBuilder中sass预编译配置

---------------------------------Ruby安装-------------------------------- 1.先下载一个ruby的安装文件:文件名可以搜索:rubyinstaller-2.3.1-x64 如图: 2.建议装到c盘(这里记住你的安装地址,后期有用) 3.勾选中间的path 然后就一路"南下",直到看到finish 4.win7系统的在左下角输入start,定位到Start Command Prompt with Ruby面板并调出 5