scss语法

SCSS是一种动态CSS语言,提供混合宏、继承、占位符、嵌套、运算、颜色功能等特性,简化CSS编写。它允许在CSS中使用JavaScript表达式赋值,并有区别于Less的变量符号($)。SCSS支持命名空间和作用域,可以在服务器端处理,提供更高效的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

scss 2019 

scss 是一种动态css 语言

  1. 混合宏
  2. 继承
  3. 占位符
  4. 嵌套  Class中嵌套class,从而减少重复的代码
  5. 运算  CSS中用上数学表达式
  6. 颜色功能 可以编辑颜色
  7. 名字空间(namespace) 分组样式,从而可以被调用
  8. 作用域 局部修改样式
  9. JavaScript 赋值 在CSS中使用JavaScript表达式赋值


和less区别

  1. 变量在Less和Sass中的唯一区别就是Less用@,Sass用$
  2. Less是基于JavaScript 实现的,是在客户端处理的
  3. Sass是基于Ruby实现的,是在服务器端处理的

注释(less-js)

// 但这种不会被编译的注释
/*会被编译的注释*/


数据类型


scss 2012

scss  是一种编写css 的预编译器 

  1. 嵌套  简化 css 代码量
  2. 选择器  &父选择器
  3. 命名空间
  4. 定义变量  $开头定义 css 全局变量
  5. 插值语法   #{$attr}
  6. 继承 @extend
<style lang="scss" scoped>
    @import "~@assets/styles/define.scss";
</style>
/* 
嵌套:内层的样式将它外层的选择器作为父选择器
*/
.sign {
    * {
        user-select: none;
        outline: none;
      }
}
/*
父选择器&:用 & 代表嵌套规则外层的父选择器
|| .sign-container-form .item-code{}
*/ 
.sign-container-form {
  .item {
    &-code { input{width: 221px;}}
  }
}
/*
css 命名空间管理
font-family
font-size
font-weight
*/ 
.funky {
  font: 20px/24px {
    family: fantasy;
    size: 30em;
    weight: bold;
  }
}
/*
Sass 额外提供了一种特殊类型的选择器:占位符选择器
必须通过 @extend 指令调用
*/ 
/*
变量 $ 
嵌套规则内定义的变量只能在嵌套规则内使用(局部变量),
不在嵌套规则内定义的变量则可在任何地方使用(全局变量)
将局部变量转换为全局变量可以添加 !global 声明
*/ 
/*
数据类型
数字,1, 2, 13, 10px
字符串,有引号字符串与无引号字符串,"foo", 'bar', baz
颜色,blue, #04a3f9, rgba(255,0,0,0.5)
布尔型,true, false
空值,null
数组 (list),
用空格或逗号作分隔符,1.5em 1em 0
2em, Helvetica, Arial, sans-serif
maps, 
相当于 JavaScript 的 object,(key1: value1, key2: value2)
*/ 
/*
SassScript 支持数字的加减乘除、取整等运算
(+, -, *, /, %)
*/ 
/*
插值语句 #{}
*/ 
$name: foo;
$attr: border;
p.#{$name} {
  #{$attr}-color: blue;
}
/*
一个元素使用的样式与另一个元素完全相同,但又添加了额外的样式
@extend 继承
*/ 
.error {
  border: 1px #f00;
  background-color: #fdd;
}
.seriousError {
  @extend .error;
  border-width: 3px;
}


  
   


参考链接

http://www.ruanyifeng.com/blog/2012/06/sass.html  2012 年教程

https://blog.youkuaiyun.com/Ginny_2017/article/details/100007285   2019 年
   

LESS和SCSS都是一种基于CSS之上的高级语言,它们都提供了更多的功能和特性,可以大大提高代码编写的效率。LESS语法相对来说更加清晰明了,容易上手。而SCSS在功能上更加强大,支持条件语句等高级特性。 LESS语法示例: 1. 变量声明:使用@符号来声明变量,例如:@color: #333; 2. 混合器:使用.mixin来定义和使用代码块的片段,可以实现代码的复用,例如:.mixin { font-size: 14px; color: #333; } 3. 嵌套规则:可以在父选择器内嵌套子选择器,简化了选择器的书写,例如:.parent { .child { color: red; } } 4. 运算:可以对数值进行加减乘除等运算,例如:@width: 100px + 50px; 5. 导入文件:可以使用@import语句导入其他LESS文件,例如:@import "variables.less"; SCSS语法示例: 1. 变量声明:使用$符号来声明变量,例如:$color: #333; 2. 混合器:使用@mixin来定义和使用代码块的片段,可以实现代码的复用,例如:@mixin mixin { font-size: 14px; color: #333; } 3. 嵌套规则:可以在父选择器内嵌套子选择器,简化了选择器的书写,例如:.parent { .child { color: red; } } 4. 运算:可以对数值进行加减乘除等运算,例如:$width: 100px + 50px; 5. 导入文件:可以使用@import语句导入其他SCSS文件,例如:@import "variables.scss"; 总结来说,LESS和SCSS语法上有一些细微的差异,但整体上非常相似,都提供了类似的功能和特性,具体使用哪一种语法主要取决于个人喜好和项目需求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [less和scss的区别](https://blog.youkuaiyun.com/Jadon_z/article/details/126750935)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [LESS 和 SCSS 的区别](https://blog.youkuaiyun.com/sky89299/article/details/124484021)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值