less以及SCSS基础语法

less

1、注释: //这种注释不能够编译到CSS 文件中

/*这种注释 能够编译到CSS 文件中*/

2、less 的基础语法

(1)、声明变量: @变量名 : 变量值

使用变量: @变量名

>>>变量使用的基本原则:

多次频繁出现的值,后期需要统一修改的值,牵扯到数值运算的值,推荐使用变量

>>>less 中的变量类型

①数值类: 不带单位的 123, 带单位的 1px

②字符串类型: 不带引号的 red #FF0000 带引号的"hahhaha"

③颜色类: red #FF0000 rgb(255,255,0)

④值列表连类型:多个值用逗号或空格分隔, 10px solid red

(2)、混合(Mixins)

①无参混合

声明: .class{}

调用: 在选择器中,使用 .class; 直接调用

②有参无默认值混合

声明: .class(@param){}

调用: .class(paramValue);

③有参有默认值混合

声明: .class(@param:默认值){}

调用: .class(paramValue); 或 .class();

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

>>>无参混合,实际上就是一个普通的class选择器,会被编译到css文件中;

而有参混合,在编译时,不会出现在css文件中

(3)、less 中的匹配默认

①声明

@pipei(条件1,参数){} @pipei(条件2,参数){} @pipei(@_,参数){}

②调用:@pipei(条件的值,参数的值){}

③匹配规则: 根据调用时输入的条件值,去寻找与之匹配的混合执行

@_表示不管匹配成功与否,都会执行的选项

(4)、@arguments 特殊变量

在混合中, @arguments 表示混合传入的所有参数, @arguments 中的多个参数之间,用空格分隔

.border(@width,@style,@color){

border: @arguments; --> //border: @width @style @color;

}

(5)、less 中的加减乘除运算

less 中的所有变量和数值,可以进行 + - * / 运算

需要注意的是,当颜色值运算时,红绿蓝分三组运算。组内单独运算,组间互不干涉

(6)、 less 中的嵌套

less 允许css选择器 按照html代码 的结构进行嵌套

#section{

>p{}

ul{

&:hover{}

}

}

① less 中的嵌套,默认是后代选择器。 如果需要子代选择器,需要在前面加 >

② & 符号, 表示这个&所在的上一层选择器, 比如上述&,表示 #section ul : hover

二、Sass

1、注释

// 注释一: 编译时不会被编译到 css文件中

/* 注释二: 在非compressed压缩模式下,会被编译到css文件中 */

/*! 注释三: 重要注释 ——— 各种压缩模式下,都会被编译到css文件中 */

2、 SCSS基础语法

(1)、SCSS中的变量

① 声明变量: $变量名:变量值;

SCSS中,允许将变量嵌套在字符串中,但是变量必须使用 井{} 包裹

eg: border-井{$position}: 10px solid yellow;

(2)、 SCSS 中的运算,会带单位进行运算,使用时需注意最终的单位是否正确

eg: height: $width/10; height: $width*10;

(3)、 SCSS 中的嵌套: 选择器嵌套 属性嵌套 伪类嵌套

①选择器嵌套 ul{ li{} }

嵌套默认使用后代选择器,若需要子代选择器,可以在选择器前加 >

可以在选择器的 {} 中,使用 &表示上一层的选择器

②伪类嵌套: li{ &:hover{} }

在选择器的 {} 中,使用 & 配合伪类事件,可以表示当前选择器的伪类

③属性嵌套: font:{

size: 16px;

weight: bold;

family: "微软雅黑";

style: "italic";

};

对于属性名有 - 分割为多段的属性,可以使用属性嵌套; 属性名的前半部分必须紧跟 :{}, 才能用{}包裹属性的后半部分

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

①混合宏:使用 @mixin 声明混合宏,在其他选择器中使用 @include 调用混合宏

@mixin hunhe .class{ @include hunhe; }

@mixin hunhe(@param) .class{ @include hunhe(value); }

@mixin hunhe(@param:value) .class{ @include hunhe(); }

>>>声明时,可以有参数,也可以没有参数; 参数可以有默认值,也可以没有默认值,但是调用时,必须符合声明时的要求 与less 中的混合相同

>>>优点 : ①可以传参 ②不会产生同名的class

>>>缺点 : 调用时,会把混合宏中的所有代码 copy 到选择器中,产生大量重复代码

②继承 :声明一个普通的class,在其他选择器中使用 @extend 继承这个class

.class1{} .class2{ @extend .class1; }

>>>优点 : 将相同代码,提取到并集选择器,减少冗余代码

>>>缺点 : ①不能传参 ②会生成一个多余的class

③ 占位符 : 使用 % 声明占位符,在其他选择器中使用 @extend 继承占位符

%class1{} .class2{ @extend %class1; }

>>>优点 : ①将相同代码,提取到并集选择器,减少冗余代码;

②不会生成一个多余的class

>>>缺点 : 不能传参

(5)、if条件结构:

条件结构需要写在选择器里面,条件结构的大括号直接包裹样式属性

@if 条件 {}

@else {}

(6)、for 循环

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

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

(7)、while 循环

$i:0;

@while $i<10{

$i : $i + 1;

}

(8)、each 循环遍历

@each $item in a,b,c,d{ //$item 表示 a,b,c,d 的每一项}

时间: 2024-10-12 22:26:45

less以及SCSS基础语法的相关文章

Java基础语法

Java的基础语法中包含字符集.标识符和关键字.变量和常量.语句.注释.运算符和表达式这些基本要素. 一.关键字 编程语言都有一些保留的单词,用于定义该语言,这些单词对于编译器有特殊含义,不能作为标识符使用: Java中的true.false.null这三个保留字,不能作为标识符使用,对于编译器有特殊含义: main是一个用于描述Java程序开始方法的特殊名称,它不是一个关键字: abstract 抽象 boolean 逻辑运算: 布尔 break 打破: 断开 byte 字节: case 例,

关于JS脚本语言的基础语法

JS脚本语言的基础语法:输出语法  alert("警告!");  confirm("确定吗?");   prompt("请输入密码");为弱类型语言: 开始时要嵌入JS代码:<script type="text/javascript"></script>: 关于写程序是需注意的基本语法:1.所有的字符全都是英文半角的:2.大部分情况下每条语句结束后要加分号:3.每一块代码结束后加换行:4.程序前呼后应:

前端学PHP之正则表达式基础语法

前面的话 正则表达式是用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分割.匹配.查找及替换操作.在PHP中,正则表达式一般是由正规字符和一些特殊字符(类似于通配符)联合构成的一个文本模式的程序性描述.正则表达式有三个作用:1.匹配,也常常用于从字符串中析取信息:2.用新文本代替匹配文本:3.将一个字符串拆分为一组更小的信息块.本文将详细介绍PHP中的正则表达式基础语法 [注意]关于javascript的正则表达式的详细信息移步至此 历史 在PHP中有两套正则表达式函数库,两者功

java 基础语法

第一周接触java基础语法,上课听得头痛,还是半懂不懂,放学后讲的啥子都忘了. 这是老师给的周末作业: 1.输入长与宽计算长方形面积与周长.(用精度类型计算)2.输入一个学生三科成绩,计算平均分.3.输入int型市场价格,购买价格,计算差额,差额显示为单精度浮点型.4.42页第二,计算房贷那道题.5.输入一个学生成绩,学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示.6.题目:输入三个整数x,y,z,请把这三个数由小到大输出.程序分析:我们想办法把最小的数放到x

jQuery安装和基础语法

1.安装 从 jquery.com 下载 jQuery 库 <script src="jquery-1.10.2.min.js"></script> 从 CDN 中载入 jQuery <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> 许多用户在访问其他站点时,已经从百度.又拍云.新浪.谷歌或微软加载过 jQuery.所有结

javascript基础语法——词法结构

× 目录 [1]java [2]定义 [3]大小写[4]保留字[5]注释[6]空白[7]分号 前面的话 javascript是一门简单的语言,也是一门复杂的语言.说它简单,是因为学会使用它只需片刻功夫:而说它复杂,是因为要真正掌握它则需要数年时间.实际上,前端工程师很大程度上就是指javascript工程师.前端入门容易精通难,说的是前端,更指的是javascript.本文是javascript基础语法的第一篇——词法结构 与java关系 关于javascript有这样一个说法,java和jav

【MOOC笔记】JSP基础语法

JSP 全名:Java Server Pages.java服务器端页面. 本质上是一个简化的Servlet设计,实现了在java中使用HTML标签. JSP是一种动态网站开发标准,与Servlet一样,在服务器端执行. 常用动态网站开发技术: JSP:JAVA平台,安全性高,适合开发大型.企业级WEB应用程序. ASP.NET:基于可视化组件开发,安全性.跨平台性差,最好用微软配套系统. PHP:适合中小型企业WEB应用开发,黄金开发组合:Linux+Apache+MySQL+PHP JSP基础

IOS_OC_基础语法

1.YES与NO Object-c 提供了 BOOL 类型, 但这个BOOL 类型和 C++里的并不一样: 在C++里一切非 0 值的东西都 为 true,而为 0 值的为 false.但是 Object-c 里 1 为 true 并被宏定义为 YES=1,0 为 false 并被宏定义为 NO=0. + (BOOL)isEquals:(int)x with:(int)y { return x - y; } if ([Provider isEquals:10 with:1021]) {// ==

java学习总结--2.基础语法

2.java基础语法  java基础语法和c语言有很多相同之处,因为java'作为后起之秀,借鉴了很多C.C++的语法 1.关键字goto和const不能在java中使用,是为了方便C和C++转换为java代码,如果转换的C和C++包含这两个单词会报编译错误   三个保留字false true null 2.标示符 1.标示符不能为关键字和保留字 2.只能包含字母数字下划线和美元符号$ 3.不能以数字开头 4,.区别大小写,没有规定长度 约定俗成的规则 首字母小写 变量名第一个单词首字母小写后面