Sass和Less?及语法?

关于石墨烯费米能级和偏置电压之间的关系问题 石墨烯费米能级与电压的关系问题 阅读详情

Sass和Less?

Sass和Less都属于CSS预处理器,Css预处理器定义了一种新的语言,其基本思想是,用一种专门的编程语言,为CSS增加了一些编程的特性,如:变量、语句、函数、继承等概念。将CSS作为目标生成文件,然后开发者就只要使用这种语言进行CSS的编码工作。

官方地址:http://lesscss.org/

VSCode插件:Easy LESS

官方地址:http://sass-lang.com/

VSCode插件:Easy Sass

styles.less -> styles.css     往后在.less里写样式css,项目上线后再link进.css。保存.less的同时会自动生成同名字的.css。

styles.scss -> styles.css  + styles.min.css(压缩版)   (.sass是老式写法,.scss是新式写法)。

.less和.scss都是用来转化为原始的css文件。

less和sass语法?

注释:

 //单行注释,不会被编译出来(即保存的时候不会在自动生成的.css中显示出来)

 /*多行注释,就是css的注释方式,会被编译出来(即在自动生成的.css中会复制一份显示*/

变量,插值,作用域:

变量:

 .less中声明变量是用@符号,

如@num:123px;   .box { width: @num;  height: @num; }  

编译后的.css文件是 .box { width: 123px; height: 123px }

.scss中声明变量是用$符号,

如$num:123px;   .box { width: $num;  height: $num; }

编译后的结果和less的编译结果一致。

插值:

把属性作为变量的值,调用变量是用的花括号{  }

less的调用方式为:

如 @key : margin;    .box{  @{key} : auto;  }  编译后是.box{ margin: auto; }

sass的调用方式为:

如 $key : margin;    .box{  #{$key} : auto;  }  编译后是.box{ margin: auto; }

作用域:

与其他编程语言类似,块内的局部作用域与块外的全局作用域,可理解为就近原则。sass的作用域是有顺序的,不能上面的值引用的是下面才声明的变量;而less没有顺序,如:

@num:123px;  .box{ height:@num;  @num: 256px;  width: @num;  } 此时width:256px;height:256px; (就近原则取得内部的num变量值)   

选择器嵌套,伪类嵌套,属性嵌套(Sass):

选择器嵌套:

ul{

     list-style:none;

     li{

          float:left;

          div{ margin:10px;}

          p{ margin:20px;}

    }

}  

less和sass文件生成的css都是一样的,都是我们普遍的css。

伪类嵌套:

与选择器嵌套的添加一样,也是把伪类添加到选择器下

ul{

    li{ list-style:none;}

   &:hover{ color:red;}

}

less和sass的伪类嵌套是一样的。

属性嵌套(Sass):

注意:只有sass具有属性嵌套,less是没有的。属性嵌套指可以在选择器下将属性进行嵌套。

ul {

    li{ float:left;

      font:{  size:10px;

                  weight:bold;

                  family:宋体;

      }

   }

}

运算,单位,转义,颜色:

注意:less中顺序决定单位。sass中。如果单位不同的话,是不能进行运算的。

@num:100px;

.box{  width: @num * 3;    //单位为px

        height: 10em + @num;   //单位为em

        color:#10203;   //得出的为color:#20406

}

函数:

.box{  

     width: round( 3.6px );     //四舍五入width:4px;

     height:percentage( 0.2 );    //转化为百分比20%

     margin:random( );   //只有sass才支持random函数

     padding:sqrt(25%);   //只有less才支持开方函数

     font-size:sum( 4px, 5px);  //下面的函数调用

}

要了解具体函数还是要到官网上去看的。

还支持自定义的函数:(类似js的自定义函数)

@function sum ($n, $m) {

     @return $n + $m;    //调用方式如上所示

}

混入,命名空间(Less),继承:

混入:

less的混入: 选择器式的混入

.show{  display: block;  }    //.show选择器在编译出来的css文件里也会添加,即渲染到css里

.hide ( @color ) {       //加上括号( )的区别在于在编译后的css里不会有.hide选择器的样式,当然括号里还可以传参数

    display: none;

   color: @color;

}

.box{   

     .show;            //混入选择器的样式

     .hide( blue );       //同样为混入选择器的样式,另外color为参数蓝色blue

}

sass的混入:注意, 被混的元素不会渲染到css里,同样可以传参数。没有点 .

@mixin  show{  display:block;}

@mixin  hide( $color ) {  color: $color; }

.box{  

      width: 600px;

     @ include  show;

     @include  hide( blue );

}

命名空间(Less):针对less操作。用#定义

#nm( ){             //nm为名字的命名

     .show{ display: inline-block; }

}

.box {  #nm.show;  }  //引入的时候要加#,前面若还有个混入式的.show, 那么#的区别体现在这里

继承:

less中的继承用的是&:extend();

.line {  display: inline;   }

.box1 {  &:extend (.line );  }

.box2 {  &:entend (.line );  }       

生成的css为.line, .box1, .box2 { display: inline; }  节约简化代码

sass中的继承用的是@extend  sass还有一个功能即不渲染主体则用上%号

%line {  display: inline;   }   //加上%表示只是占位作用,%改为. 表示.line是要渲染到css的

.box1 {  @extend (%line );  }   

.box2 {  @entend (%line );  }  

合并,媒体查询:

合并:指合并一些background,transform等,有以逗号或空格方式的合并

sass中的合并:类似定义一个变量

$background :   ( //数值类型、字符类型、map类型即键值对类型

     a: url (a.png),

     b: url (b.png)

);

$transform: (

     a:scale( 2)

     b: rotate(30deg)

 );

.box{

     background : map-values( &background );   //放到函数map-values中

     //渲染后的css为background :url ( url(a.png), ulr(b.png);

     transform:zip(map-values( $transform)...);   //渲染后是空格方式合并

}

less中的合并:

.box{

     background+ : url(a.png);   //加号表以逗号方式合并

     background+ : url(b.png);   //加号加下划线表以空格方式合并

     background+_ : scale( 2 );

     background+_ : rotate(30deg);

媒体查询:即响应式的媒体查询@media

.box{

     width:100px;

    @media all and ( min-width : 768px ) {

          width : 600px;

     }

    @media all and ( min-width : 1440px ){

         width: 900px;

     }

}

条件,循环:

条件

sass中的条件

$count : 3;

.box{

     @if( $count > 3 ){

          width: 100px + $count;

     }

    @else{

         width: 10px + $count;

     }

}

less中的条件

@count:3;

.get( @cn ) when ( @cn > 4 ){

     width: 100px + @cn;

}

.get( @cn ) when ( @cn < 4 ){

      width: 100px + @cn;

}

.box{   .get( @count);  }

循环

sass中的循环

@for $i from 0 through 2{    //指for循环中,变量$i从0循环到2,包括0和2

      .box-#{ $i } {

           width : 100px + $i;

       }

}                      

渲染后为   .box-0{ width:100px;}  .box-1{ width:101px; }   .box-2{ width:102px; }

 

less中的循环:

@count: 0;

.get(@cn) when (@cn < 3){

      .get( (@cn + 1) );    //这条语句是递归

     .box-@{ cn } {

          width: 100px + @cn;

      }

}

.get( @count );

渲染后为

.box-2 { width:102px; }   .box-1 { width: 101px; }    .box-0 { width: 100px; }

导入:

实现模块化

@import ‘ ../reset.scss’;   //less和sass的导入方式都是通过@import方式来引入

......

 sass和less叫做预处理器,即我们可以用这两个框架来开发再通过转换机制转换为浏览器认识的css

 

 

Zynq-PS-SDK(12) 之 VDMA+VTC+AXI4S-VideoOut 视频通路硬件搭建 前面分别叙述了《Zynq-PS-SDK(9) 之 VDMA》、《Zynq-PS-SDK(10) 之 VTC》以及《Zynq-PS-SDK(11) 之 AXI4-Stream To Video Out》;搭建一个简单的视频通路(Framebuffer -> HDMI)就要用到这些个模块,总体的设计框图如下所示: 视频数据的 Framebuffer 在 DDR 中,通过 Processing System 写入进去; 数据通过高带宽的 AXI4 接口(这里用到了 HP AXI,即 64bits 带 阅读详情

相关推荐

Stata实战入门:从数据导入到基础分析的全流程指南

本文提供了Stata实战入门的全流程指南,从数据导入、清洗到基础分析和可视化,帮助初学者快速掌握Stata的核心功能。通过详细的步骤和实用技巧,读者可以高效完成数据处理、变量操作、描述性统计和回归分析等任务,提升数据分析效率。

weixin_28327051的博客 384

less设置页面内容区大小适配屏幕

less根据屏幕宽度计算内容区大小

笋笋的博客 1352

eMMC数据擦除的方式

接下来主要是讲解erase、trim、discard的差异,涉及的command有CMD35、CMD36、CMD38。一般用来擦除整卡或者某些分区,如果只想擦除一个。以下是device status的部分解释。eMMC的数据擦除方式有6种,分别是。将会跳过写保护,只执行其他的范围。Discard的命令序列是。Erase的命令序列是。的范围有包含写保护,Trim的命令序列是。

DPJimmy的博客 1772

less快速入门------变量学习

一,什么是less变量? 1.less作为css的预处理器,和其他编程一样,有变量的概念。 二,less如何定义变量? 1.less定义变量的方式 : 使用符号@ 例如 @blue:#5B83AD; @mySelector:width; @commonFontSize:16px; 2.注意事项: @之后的变量名随意自取 使用:为变量赋值,不是使用= 赋的值不用加""或' ' 三,less变量的使用 1.作为普通的属性值 @fontS:10px; .content{ font-size:@fontS }

过客如期的博客 4799

SAP ATP检查全解析:从配置到BAPI_RESERVATION_CREATE1应用实例

本文全面解析SAP ATP检查功能,从基础配置到BAPI_RESERVATION_CREATE1高级应用,涵盖物料可用性检查、动态规则设置及性能优化策略。通过实战案例演示如何利用BAPI_MATERIAL_AVAILABILITY实现精准库存承诺,提升供应链效率,特别适合SAP顾问和库存管理人员参考。

dropout6artist的博客 678

IEC61850 通信协议测试验证实战指南:从理论到实践

本文提供了一份IEC61850通信协议从理论到实践的完整测试验证实战指南。针对MMS、GOOSE、SV三大核心协议,详细阐述了测试环境搭建、自动化脚本编写、性能与异常测试方法,并分享了常见避坑经验,旨在帮助工程师通过系统化的测试验证,确保电力自动化设备在现场的互联互通与稳定可靠运行。

neovim7hacker的博客 155

Less 中变量的使用(详解)

Less 中变量的使用(详解)

小张同学的博客 1万+

第1期技术: DQN算法原理及实现过程

利用神经网络近似值函数的方法表示为: V^(s,w)≈Vπ(s)q^(s,a,w)≈qπ(s,a) \hat{V}(s, w) \approx V_{\pi}(s) \\ \hat{q}(s, a, w) \approx q_{\pi}(s, a) V^(s,w)≈Vπ​(s)q^​(s,a,w)≈qπ​(s,a) 那么具体的工作过程是怎样实现的? 以及如何从端到端的过程,本文将讲解Deep Q Network(DQN, 而这正是由DeepMind于2013年和2015年分别提出的两篇论文《Playi

深度强化学习实验室:一个“开源开放、共享共进”的强化学习学术组织。 4953

Less定义变量

1. 定义: 使用 @ 符号来定义变量 ,在Less中开头是 @ 则是变量,关于变量的命名方法,大家可以参考js中命名的规则,毕竟是做前端的,有着统一的习惯有助于我们统一风格。个人推荐变量名的命名规则使用驼峰命名法。第一个单词首写字母小写,从第二个开始,单词首写字母大写。如boxAaa,boxBbbb,boxContainer,……,当然也是可是使用香肠命名法用下划线“_”来命名。如,...

weixin_30537391的博客 9155

别再乱调了!Zygo MetroPro软件滤波功能保姆级指南,从均值到鲁棒高斯样条一次讲清

本文深入解析Zygo MetroPro软件的滤波功能,从均值滤波到鲁棒高斯样条等九种算法,帮助用户根据测量对象特性选择最佳滤波组合。通过真实工业案例和参数配置指南,提升光学测量数据的准确性和效率,特别适用于硅晶圆、光学镜片等精密测量场景。

weixin_30888413的博客 156

PX4(CUAV v6x 飞控)+ QAV250 机架无人机组装测试教学(无人机电机转向不对,如何反转电机?)

本文介绍无人机的组装与飞控调试:1.无人机的硬件组装。2.无人机飞控软件的下载,电机、遥控器、电调的校准与调试。

weixin_74185504的博客 2890

less的基本使用

定义同一变量名称(名字)两次或多次后,less只会选择最后定义的!@bg-img : "路径1";@bg-img : "路径2";@bg-img : "路径3";header {} // 结果为:background : url("路径3");

Litt_White的博客 8834

Tessent ATPG Flow 流程 (代码和注释)

**摘要:Tessent ATPG流程分为五个阶段:1) 环境初始化(加载设计文件、库和扫描链配置);2) DRC规则检查(验证设计可测试性并修复违例);3) ATPG向量生成(设置故障模型并运行引擎优化覆盖率);4) 向量验证与后处理(仿真验证并生成ATE格式文件);5) 进阶操作(多电压域和存储器测试)。流程输出包括测试向量、覆盖率报告和验证日志,支持stuck-at和transition故障模型,使用Tcl脚本控制。关键步骤包含扫描链配置、EDT压缩和覆盖率优化。

QQ_778132974的博客 931

从语法、功能、社区和使用场景来比较 Sass 和 LESS

从语法、功能、社区和使用场景来比较 Sass 和 LESS

FGGIT的博客 1233

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

less和sass语法

less和sass语法 1.嵌套注意点,&链接 .a { foo: bar; } .a:hover { foo:bar; } ============== .a { foo:bar; &:hover { foo:bar; } } 2.变量 ===sass=== $foo: red; $bar: 10px; .a { color: $foo; font-size: $bar; } ===less=== @foo:

yahaha~的博客 594

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

【前端之Sass和Less(VScode)的运算、函数语法区别】

作为一个未来专业的前端工程师我深知记录日常的学习和与IT界的大佬合作交流是多么有意义的一件事情,于是我带着前端SCSS和LESS知识与你们相遇了。

qq_44735180的博客 437

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Sass和less语法的区别

Sass语法 Sass是功能最为强大、最成熟、并且是最为流行的CSS预处理器 Sass拥有更为强大的功能,如循环、函数、混合宏 Sass语法不使用{} 使用的是$符号 $color:white $bgColor:red Sass支持条件语句:if{} else{},for{}等循环语句 而less不支持 Less语法 Less是作为css的一种形式扩展 是在原有的css语法上另外多添加了一些功能 Less用 @ 符号来声明变量 less变量还可以作为属性名字 作为属性值调用时:@变量名 ...

chengxuwa的博客 309

【前端之Sass和Less(VScode)的混入、命名空间、继承语法区别】

作为一个未来专业的前端工程师我深知记录日常的学习和与IT界的大佬合作交流是多么有意义的一件事情,于是我带着前端SCSS和LESS知识与你们相遇了。

qq_44735180的博客 863

在 Chromium 中使用 VSCode + rust-analyzer:gn 导出 Rust 项目与 IDE 开发指南

Rust 代码中大量类型信息会被编译器推导省略(type elision),这使得一个强大的 IDE 比在 C++ 中更能发挥价值。本篇指南基于 Google 的《Comprehensive Rust》课程中“Chromium 构建规则”一章,讲解如何在 Chromium 代码库中通过 `gn gen --export-rust-project` 导出 Rust 项目,并配合 VSCode 的 `

gitblog_00301的博客 967

【前端之Sass和Less(VScode)的选择器、伪类、属性嵌套语法区别】

作为一个未来专业的前端工程师我深知记录日常的学习和与IT界的大佬合作交流是多么有意义的一件事情,于是我带着前端SCSS和LESS知识与你们相遇了。

qq_44735180的博客 1089

Sass和Less、Stylus的转译和语法(1)

四、Sass、LESS和Stylus转译成CSSSass、LESS和Stylus源文件(除了LESS源文件在客户端下运行之外)都不能直接被浏览器直接识别,这样一来,要正常的使用这些源文 件,就需要将其源文件转译成浏览器可以识别的CSS样式文件,这也是使用CSS预处理器很关键的一步,如果这一步不知道如何操作,那么意味着写出来的代码 不可用。接下来按同样的方式,分别来看看三者之间是如何将其源文件转译成...

weixin_30664539的博客 424

【前端之Sass和Less(VScode)的合并、媒体查询、条件、循环、导入的语法区别】

作为一个未来专业的前端工程师我深知记录日常的学习和与IT界的大佬合作交流是多么有意义的一件事情,于是我带着前端SCSS和LESS知识与你们相遇了。

qq_44735180的博客 556

【前端之Sass和Less(VScode)的注释、变量、插值、作用域语法区别】

作为一个未来专业的前端工程师我深知记录日常的学习和与IT界的大佬合作交流是多么有意义的一件事情,于是我带着前端SCSS和LESS知识与你相见了。

qq_44735180的博客 491

CSS预处理器:Sass与Less的语法和特性(含实际案例)

通过变量、复用机制和动态逻辑,减少重复代码,提升样式可维护性,适配大型项目需求。:适合复用完整样式(如组件基础结构),但需注意过度继承可能增加选择器权重问题。:通过参数化混合宏快速生成不同风格的按钮,减少重复代码。:统一项目主色和字号,轻松修改主题色,避免重复硬编码。:复用卡片基础样式,通过继承减少冗余,仅覆盖差异部分。:自动生成栅格类,根据主题变量动态切换暗/亮模式样式。:适合根据变量动态调整单一属性,配合内置函数灵活度高。:减少选择器嵌套层级,代码更直观,适合复杂组件样式。语法,更贴近原生CSS。

weixin_43934550的博客 532

sass和less、stylus语法(2)

6.运算符(Operations)CSS预处理器语言还具有运算的特性,其简单的讲,就是对数值型的Value(如:数字、颜色、变量等)进行加减乘除四则运算。这样的特性在CSS样式中是想都不敢想的,但在CSS预处理器语言中对样式做一些运算一点问题都没有了,例如:@base_margin: 10px;@double_margin: @base_margin * 2;@full_page: 960px;@...

weixin_30268921的博客 128

sass,less相关语法

sass,less都是css预处理器,css预处理器是一种专门的语言,可以被编译成正常的css sass ruby是开源的服务器端脚本语言 scss后缀名为.scss, sass是用ruby语言编写的,运行scss,必须先安装ruby环境 可以使用koala或者webpack将sass,less编译成css文件 Sass语法 可以使用定义变量如定义变量 如定义变量如size:100px; 可以...

小白学编程 4332
上一篇: Bootstrap?
下一篇: PostCSS?PostCSS常用插件?
Halle!
博客等级 码龄7年 303粉丝 133原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值