Angular 프로젝트에서 SASS 스타일을 어떻게 사용하나요? 다음 글에서는Angular에서 SASS 스타일을 사용하는 방법을 소개하겠습니다. 도움이 되길 바랍니다.
Angular Custom Directive Tooltip기사에서sass
스타일에 대한 기사가 있다고 했는데 이제 여기에 있습니다.sass
样式的文章,现在它来了。
前端三剑客之一,层叠样式表(Cascading Style Sheets,CSS),就是对HTML
骨架的润色。但是我们通过原生编写的样式,会出现很多重复代码,而已逻辑不明确。
那么,我们可以通过CSS
的扩展语言来进行编写维护。目前前端界比较流行的两个CSS
扩展语言是less
和sass
。本文讲解的是sass
。
less 也是差不多,sass 更加成熟
SASS
提供了两种编写的语法,一种是.scss
为后缀,另一种是.sass
为后缀。
.scss
为后缀,语法用{}
修饰.sass
为后缀,语法是缩紧方式推荐使用 .scss
项目集成
angular
项目使用脚手架生成,在添加样式这一个步骤,会询问你编写样式的方式,让你选择:
选择SCSS
,然后确认即可,就是这么简单。
在angular
中编写样式,可以分为组件样式和全局样式。【相关教程推荐:《angular教程》】
组件样式
组件样式就是组件单独拥有,其他组件不会生效,比如,你通过ng g compoent demo
生成组件:
- demo.component.ts - demo.component.html - demo.component.scss - deom.component.spec.ts
其中demo.compoent.scss
就是deom
这个组件的样式表。
全局样式
angular
脚手架生成的项目,默认在src/style.scss
文件存放全局的样式。在这个文件修改的样式,将对整个应用的样式产生影响。
Sass 重点语法
针对日常的开发工作,我们来介绍下比较重要的内容。
1. 使用变量
使用变量能够让你在多个页面或者页面中的多处进行调用。
// _varible.scss // **** COLORS **** $black: #000000; $white: #ffffff; $dark-green: #007f7f; // **** usage **** $primary-color: $dark-green;
我们将变量方式在一个文件中进行管理,当需要使用到它的使用,我们直接进行@import
导入使用即可:
@import "path/to/varible.scss"; #demo { color: $primary-color; // 调用 }
2. 使用嵌套
在使用css
样式的时候,我们需要对不同元素进行样式的编写,我们需要考虑到元素所在的层次,采用不同的权重对其进行修改。
现在有骨架如下:
Mr.Jimmy
现在有样式如下:
#demo .inner .prefix { color: red; font-size: 11px; } #demo .inner .name { font-size: 14px; }
那么我们可以使用嵌套写法,逻辑清晰,阅读方便:
#demo { .inner{ .prefix { color: red; font-size: 11px; } .name { font-size: 14px; } } }
3. 使用计算
sass
提供了一系列的操作符,如+、-、*、/、%
,使用就像写javascript
变量运算一样,竟然还可以带单位:
width: 100px / 400px * 100%l;
除了这些基本的运算符之外,sass
还提供了很多的方法,比如String
函数:
to-upper-case('italic'); // ITALIC
又例如更改颜色的透明度方法:
#demo { background-color: transparentize($black, 0.5) }
4. 使用 mixin 混合器
在编写样式的时候,我们会出现在多个类中调用同一份的样式内容。比如:
.demo { font-size: 12px; color: red; } .another_demo { font-size: 12px; color: blue; }
我们使用mixin
改写:
@mixin common-style { font-size: 12px; } .demo { @include common-style; color: red; } .another_demo { @include common-style; color: blue; }
使用mixin
提取公共的代码出来,方便我们更改,改一处多处更改。当然,extend
CSS)는HTML
뼈대를 다듬은 것입니다. 그러나 우리가 기본적으로 작성하는 스타일에는 반복되는 코드가 많고 논리가 명확하지 않습니다.
CSS
라는 확장 언어를 통해 작성하고 유지 관리할 수 있습니다. 현재 프런트엔드 세계에서 가장 인기 있는 두 가지
CSS
확장 언어는
less
와
sass
입니다. 이 문서에서는
sass
에 대해 설명합니다.
less는 거의 동일하고 sass는 더 성숙합니다
SASS
는 두 가지 쓰기 구문을 제공합니다. 하나는 접미사로
.scss
이고, 다른 하나는 접미사인
.sass
입니다.
.scss
는 접미사이며 구문은{}
.sass
는 접미사, 구문은 축약형입니다.scss
사용을 권장합니다. 프로젝트 통합