SASs

将脚本解析成CSS的脚本语言

SASs

SASs(Syntactically Awesome Style sheets)是一个层叠样式表语言,最初由Hampton Catlin设计并由Natalie Weizenbaum开发。SASs是一个将脚本解析成CSS的脚本语言,即SassScript。它包括两套语法:缩进语法和SCSS语法。 缩进语法类似于Haml,使用缩进来区分代码块,并使用回车将不同规则分隔开。而SCSS语法使用和CSS一样的块语法,即使用大括号将不同的规则分开,使用分号将具体的样式分开。这两套语法通过.sass和.scss两个文件扩展名区分开。 SASs通过扩展CSS的选择器功能,设计了一些语法来提供更多的选择器和伪类选择器。尽管这些扩展功能不是CSS的语法,但SASs解释器会将SassScript解释成符合CSS语法的CSS文件。此外,SASs解释器还可以监视.sass或.scss文件的修改,并及时更新生成的CSS文件。 SASs的官方解释器是开源的,用Ruby语言编写,但也有用PHP、C语言、Java等实现的版本。SASs支持嵌套、变量、混入(Mixin)和选择器继承等功能。它还可以与Firefox插件Firebug集成,方便开发者进行调试。 总之,SASs是一个功能强大的层叠样式表语言,通过提供更灵活的语法和功能,使得CSS的编写更加简洁和高效。SASs,Statements on Auditing Standards ,审计准则说明书。

SASs(Syntactically Awesome Style sheets)是一个层叠样式表语言,最初由Hampton Catlin设计并由Natalie Weizenbaum开发。SASs是一个将脚本解析成CSS的脚本语言,即SassScript。它包括两套语法:缩进语法和SCSS语法。 缩进语法类似于Haml,使用缩进来区分代码块,并使用回车将不同规则分隔开。而SCSS语法使用和CSS一样的块语法,即使用大括号将不同的规则分开,使用分号将具体的样式分开。这两套语法通过.sass和.scss两个文件扩展名区分开。 SASs通过扩展CSS的选择器功能,设计了一些语法来提供更多的选择器和伪类选择器。尽管这些扩展功能不是CSS的语法,但SASs解释器会将SassScript解释成符合CSS语法的CSS文件。此外,SASs解释器还可以监视.sass或.scss文件的修改,并及时更新生成的CSS文件。 SASs的官方解释器是开源的,用Ruby语言编写,但也有用PHPC语言、Java等实现的版本。SASs支持嵌套、变量、混入(Mixin)和选择器继承等功能。它还可以与Firefox插件Firebug集成,方便开发者进行调试。 总之,SASs是一个功能强大的层叠样式表语言,通过提供更灵活的语法和功能,使得CSS的编写更加简洁和高效。

准则说明书

SASs,Statements on Auditing Standards ,审计准则说明书。

在美国公众公司会计监督委员会(PCAOB)成立之后,公众公司的审计应当遵循PCAOB颁布的审计准则,ASB的规定只适用于非公众公司审计。注册会计师在执行非公众公司审计时,应当充分了解审计准则说明书以判断其是否适用于所执行的审计,并且确定偏离审计准则说明书的情况。

截止2010年7月,审计准则委员会共发布120项审计准则说明书。

制作框架

Sass 扩展了 CSS3,增加了规则、变量、混入、选择器、继承等等特性。Sass 生成良好格式化的 CSS 代码,易于组织和维护。

SASS是对CSS3(层叠样式表)的语法的一种扩充,它可以使用巢状、混入、选择子继承等功能,可以更有效有弹性的写出Stylesheet。Sass最后还是会编译出合法的CSS让浏览可以使用,也就是说它本身的语法并不太容易让浏览器识别(虽然它和CSS的语法非常的像,几乎一样),因为它不是标准的CSS格式,在它的语法内部可以使用动态变量等,所以它更像一种极简单的动态语言。

变量

Sass支持定义变量。变量以美元符号($)作为开头。变量用冒号(:)赋值。

SassScript支持四种数据类型:

数值(可包括单位)字符串颜色布尔类型

变量可以用作函数的参数或返回值。在解释过程中,解释器会把变量的值写入最终的CSS文件中。

SCSS语法的变量示例:

$blue: #3bbfce;$margin: 16px;.content-navigation {  border-color: $blue;  color: darken($blue, 10%);}.border {  padding: $margin / 2;  margin: $margin / 2;  border-color: $blue;}

Sass语法的变量示例:

$blue: #3bbfce$margin: 16px.content-navigation  border-color: $blue  color: darken($blue, 10%).border  padding: $margin/2  margin:  $margin/2  border-color: $blue

这两段代码会被解释成:

.content-navigation {  border-color: #3bbfce;  color: #2b9eab;}.border {  padding: 8px;  margin: 8px;  border-color: #3bbfce;}

嵌套

CSS虽然支持嵌套但是不支持代码块的嵌套,而SCSS支持。这样可更加清晰地表示元素之间的关系。

table.hl {  margin: 2em 0;  td.ln {    text-align: right;  }}li {  font: {    family: serif;    weight: bold;    size: 1.3em;  }}

会被解释成:

table.hl {  margin: 2em 0;}table.hl td.ln {  text-align: right;}li {  font-family: serif;  font-weight: bold;  font-size: 1.3em;}

在Sass文档中还可以看到有关名字空间、父级引用等的内容。

混入(Mixin)

Mixin包含一段合法Sass代码,类似于C语言的宏定义。调用Mixin时,解释器会将Mixin扩展成它所包含的完整的Sass代码,因此可以有效地减少代码重复,从而写出更加干净的代码。CSS不支持Mixin,因此重复和类似的代码必须挨个书写。

@mixin table-base {  th {    text-align: center;    font-weight: bold;  }  td, th {padding: 2px}}#data {  @include table-base;}

被解释成

#data th {  text-align: center;  font-weight: bold;}#data td, #data th {  padding: 2px;}

libSass

在2012年HTML5开发者大会上,Sass的创建者Hampton Catlin宣布libSass 1.0版。libSass是一个由Catlin、Araon Leung和Moovweb开发团队开发的开放源代码C++实现。Current Sass maintainer, Chris Eppstein, has expressed intent to contribute as well.

libSass的设计目标是:

性能:开发者反映,C++的实现速度是Ruby实现的10倍。更容易集成:因为是一个C++库,不必集成或实现Ruby解释器,因此在自行开发软件的时候事情会变得更容易。例如,libSass现在已经被应用到Node.js、Go和Ruby等环境。兼容性:libSass的目标是与Ruby实现完全兼容。但是目标尚未完全实现。

广告位:底部(ad-bottom)—— 请到中台「公共区块」编辑此内容