发表于: 2018-09-28 23:04:51

1 708


今天完成的事情:提交任务十。开始学习任务十一。修改一下任务十的一些瑕疵。


明天计划的事情:开始任务十一 十二的学习。学习scss学习一些新特性。


遇到的问题:看sass的资料。问题暂无。

 
收获:

SCSS 是 Sass 3 引入新的语法,其语法完全兼容 CSS3,并且继承了 Sass 的强大功能。Sass 和 SCSS 其实是同一种东西,我们平时都称之为 Sass,两者之间不同之处有以下两点:

  1. 文件扩展名不同,Sass 是以“.sass”后缀为扩展名,而 SCSS 是以“.scss”后缀为扩展名

  2. 语法书写方式不同,Sass 是以严格的缩进式语法规则来书写,不带大括号({})和分号(;),而 SCSS 的语法书写和我们的 CSS 语法书写方式非常类似。

先来看一个示例:

Sass 语法:

$font-stack: Helvetica, sans-serif  //定义变量$primary-color: #333 //定义变量body
  font: 100% $font-stack
  color: $primary-color

SCSS 语法:

$font-stark Helvetica, sans-serif;$primary-color: #333;body {
  font: 100% $font-stack;
  color: $primary-color;
}

编译出来的 CSS

body {  font: 100% Helvetica, sans-serif;  color: #333;
}

由于 SCSS 是 CSS 的扩展,因此,所有在 CSS 中正常工作的代码也能在 SCSS 中正常工作。也就是说,对于一个 Sass 用户,只需要理解 Sass 扩展部分如何工作的,就能完全理解 SCSS。大部分扩展,例如变量、parent references 和 指令都是一致的;唯一不同的是,SCSS 需要使用分号和花括号而不是换行和缩进。 例如,以下这段简单的 Sass 代码:

#sidebar
  width: 30%
  background-color: #faa

只需添加花括号和分号就能转换为 SCSS 语法:

#sidebar {  width: 30%;  background-color: #faa;
}

另外,SCSS 对空白符号不敏感。上面的代码也可以书写成下面的样子:

#sidebar {width: 30%; background-color: #faa}


一个关于@mixin、@extend、%placeholder的适用场景总结

  • mixin 可以传变量
  • extend 不可以传变量,相同样式直接继承,不会造成代码冗余;基类未被继承时,也会被编译成css代码
  • placeholder 基类未被继承时不会被编译成css代码


这里写图片描述




返回列表 返回列表
评论

    分享到