ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

【CSS】sass/scss

2020-01-14 18:02:44  阅读:241  来源: 互联网

标签:scss 运算 sass 嵌套 width 数组 字符串 选择器 CSS


Sass 是一款强化 CSS 的辅助工具,它在 CSS 语法的基础上增加了变量 (variables)、嵌套 (nested rules)、混合 (mixins)、导入 (inline imports) 等高级功能

css功能扩展

4.1嵌套规则

.css1{
    .css2{}
}

4.2父选择器&

a {
  &:hover {
    color: red;
  }
}

4.3属性嵌套

.funky {
  font: {
    family: fantasy;
    size: 30em;
    weight: bold;
  }
}

命名空间可以包含自己的属性值

.funky {
  font: 20px/24px {
    family: fantasy;
    weight: bold;
  }
}

4.4占位符选择器%foo

与常用的id与class选择器写法相似,只是#或.替换成了%。必须通过@extend指令调用,单独使用未通过@extend调用则不会编译到CSS文件中

注释

多行注释/* */

单行注释//

变量$

$width: 5em
#main {
  width: $width;
}

变量支持块级作用域,嵌套规则内定义的变量只能在嵌套规则内使用(即局部变量),全局定义的则为全局变量。

局部变量添加!global声明转换为全局变量

#main {
  $width: 5em !global;
  width: $width;
}

#sidebar {
  width: $width;
}

数据类型

1.数字,1,2,13,10px

2.字符串:有引号与无引号字符串,"foo",baz

3.颜色:blue,#4a3f9,rgba(255,0,0,0.5)

4.布尔型:true,false

5.数组:用空格或逗号作分隔符,1.5em 1em 0 2em, A,B,C

6.maps:相当于JS的object,(key1:value1,key2,value2)

也支持其他css属性,比如unicode字符集,或!important声明。然而Sass不会特殊对待这些属性值,一律视为无引号字符串。

字符串

使用#{}时,有引号字符串将被编译为无引号字符串,便于mixin中引用选择器名

@mixin firefox-message($selector) {
  body.firefox #{$selector}:before {
    content: "Hi, Firefox users!";
  }
}
@include firefox-message(".header");

编译为

body.firefox .header:before {
  content: "Hi, Firefox users!"; }

 数组

nth 函数可以直接访问数组中的某一项;join 函数可以将多个数组连接在一起;append 函数可以在数组中添加新值;而 @each 指令能够遍历数组中的每一项。

子数组 1px 2px, 5px 6px

如果内外两层数组使用相同的分隔方式,需要用圆括号包裹内层,所以也可以写成 (1px 2px) (5px 6px)

运算

数字运算符+-*/%,如果必要会在不同单位件转换值

关系运算<,>,<=,>=也可用于数组运算

相等运算==,!=也可用于所有数据类型

可以颜色值运算、字符串运算

布尔运算and、or、not

圆括号用来影响运算顺序

函数

标签:scss,运算,sass,嵌套,width,数组,字符串,选择器,CSS
来源: https://www.cnblogs.com/Mijiujs/p/12193380.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有