2012/06/21 · CSS · CSS
来源:阮一峰
学过CSS的人都明白,它不是生机勃勃种编制程序语言。
您能够用它支付网页样式,不过没办法用它编程。也正是说,CSS基本上是设计员的工具,不是技师的工具。在程序猿眼里,CSS是生龙活虎件很坚苦的事物。它从未变量,也尚无条件语句,只是生龙活虎行行单纯的叙说,写起来卓越麻烦。
很当然地,有人就起头为CSS出席编制程序成分,那被称呼”CSS预微电脑“(css preprocessor卡塔 尔(英语:State of Qatar)。它的骨干考虑是,用风流倜傥种特意的编制程序语言,进行网页样式设计,然后再编译成符合规律的CSS文件。
各类”CSS预微机”之中,作者要好最心爱SASS,以为它有数不完优点,打算现在都用它来写CSS。下面是自身收拾的用法总计,供自个儿支付时参照,相信对别的人也会有用。
一、什么是SASS
SASS是大器晚成种CSS的开荒工具,提供了重重方便的写法,大大节省了设计者的年月,使得CSS的成本,变得轻松和可保证。
本文化总同盟结了SASS的根本用法。小编的目的是,有了那篇小说,日常的平常选用就没有须求去看官方文书档案了。
二、安装和动用
2.1 安装
SASS是Ruby语言写的,但是双方的语法没有涉及。不懂Ruby,照样使用。只是必需先安装Ruby,然后再设置SASS。
只要你已经设置好了Ruby,接着在命令行输入上面包车型地铁吩咐:
JavaScript
gem install sass
1
|
gem install sass
|
下一场,就足以采纳了。
2.2 使用
SASS文件正是普通的文书文件,里面能够直接行使CSS语法。文件后缀名是.scss,意思为Sassy CSS。
上边包车型地铁授命,能够在显示器上展现.scss文件转载的css代码。(假使文件名称叫test。卡塔 尔(阿拉伯语:قطر
JavaScript
sass test.scss
1
|
sass test.scss
|
万大器晚成要将显得结果保存成文件,前面再跟三个.css文件名。
JavaScript
sass test.scss test.css
1
|
sass test.scss test.css
|
SASS提供八个编写翻译风格的选项:
* nested:嵌套缩进的css代码,它是暗许值。
* expanded:未有缩进的、扩充的css代码。
* compact:简洁格式的css代码。
* compressed:压缩后的css代码。
生儿育女条件个中,平日采纳最终一个精选。
JavaScript
sass --style compressed test.sass test.css
1
|
sass --style compressed test.sass test.css
|
SASS的官方网址,提供了四个在线调换器。你能够在那里,试运作上边包车型地铁各样例子。
三、基本用法
3.1 变量
SASS允许利用变量,全体变量以$以前。
JavaScript
$blue : #1875e7; div { color : $blue; }
1
2
3
4
|
$blue : #1875e7;
div {
color : $blue;
}
|
一旦变量必要镶嵌在字符串之中,就务须必要写在#{}之中。
JavaScript
$side : left; .rounded { border-#{$side}-radius: 5px; }
1
2
3
4
|
$side : left;
.rounded {
border-#{$side}-radius: 5px;
}
|
3.2 计算功用
SASS允许在代码中使用算式:
JavaScript
body { margin: (14px/2); top: 50px 100px; right: $var * 10%; }
1
2
3
4
5
|
body {
margin: (14px/2);
top: 50px 100px;
right: $var * 10%;
}
|
3.3 嵌套
SASS允许选取器嵌套。比方,上面的CSS代码:
CSS
div h1 { color : red; }
1
2
3
|
div h1 {
color : red;
}
|
能够写成:
CSS
div { hi { color:red; } }
1
2
3
4
5
|
div {
hi {
color:red;
}
}
|
品质也足以嵌套:
CSS
p { border-color: red; }
1
2
3
|
p {
border-color: red;
}
|
能够写成:
CSS
p { border: { color: red; } }
1
2
3
4
5
|
p {
border: {
color: red;
}
}
|
小心,border前面总得抬高冒号。
3.4 注释
SASS共有二种注释风格。
标准的CSS注释 /* comment */ ,会保留到编写翻译后的文本。
单行注释 // comment,只保留在SASS源文件中,编写翻译后被略去。
四、代码的任用
4.1 继承
SASS允许一个选拔器,世袭另三个选拔器。举例,现存class1:
CSS
.class1 { border: 1px solid #ddd; }
1
2
3
|
.class1 {
border: 1px solid #ddd;
}
|
class2要世袭class1,将在选拔@extend命令:
CSS
.class2 { @extend .class1; font-size:120%; }
1
2
3
4
|
.class2 {
@extend .class1;
font-size:120%;
}
|
4.2 Mixin
Mixin有一点像C语言的宏(macro卡塔 尔(阿拉伯语:قطر,是能够援引的代码块。
运用@mixin命令,定义一个代码块。
CSS
@mixin left { float: left; margin-left: 10px; }
1
2
3
4
|
@mixin left {
float: left;
margin-left: 10px;
}
|
应用@include命令,调用这么些mixin。
CSS
div { @include left; }
1
2
3
|
div {
@include left;
}
|
mixin的强有力的地方,在于可以钦命参数和缺省值。
CSS
@mixin left($value: 10px) { float: left; margin-right: $value; }
1
2
3
4
|
@mixin left($value: 10px) {
float: left;
margin-right: $value;
}
|
接收的时候,依照必要加入参数:
CSS
div { @include left(20px); }
1
2
3
|
div {
@include left(20px);
}
|
4.3 颜色函数
SASS提供了生龙活虎部分松手的水彩函数,以便生成连串颜色。
CSS
lighten(#cc3, 10%) // #d6d65c darken(#cc3, 10%) // #a3a329 grayscale(#cc3) // #808080 complement(#cc3) // #33c
1
2
3
4
|
lighten(#cc3, 10%) // #d6d65c
darken(#cc3, 10%) // #a3a329
grayscale(#cc3) // #808080
complement(#cc3) // #33c
|
4.4 插入文件
@import命令,用来插入外界文件。
CSS
@import("path/filename.scss");
1
|
@import("path/filename.scss");
|
借使插入的是.css文件,则如出生龙活虎辙css的import命令。
CSS
@import "foo.css";
1
|
@import "foo.css";
|
五、高端用法
5.1 条件语句
@if能够用来决断:
JavaScript
p { @if 1 1 == 2 { border: 1px solid; } @if 5 < 3 { border: 2px dotted; } } 配套的还应该有@else命令: @if lightness($color) > 四分一{ background-color: #000; } @else { background-color: #fff; }
1
2
3
4
5
6
7
|
p {
@if 1 1 == 2 { border: 1px solid; }
@if 5 < 3 { border: 2px dotted; } } 配套的还有@else命令: @if lightness($color) > 30% {
background-color: #000;
} @else {
background-color: #fff;
}
|
5.2 循环语句
SASS支持for循环:
JavaScript
@for $i from 1 to 10 { .border-#{$i} { border: #{$i}px solid blue; } }
1
2
3
4
5
|
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}
|
也支持while循环:
JavaScript
$i: 6; @while $i > 0 { .item-#{$i} { width: 2em * $i; } $i: $i - 2; }
1
2
3
4
5
|
$i: 6;
@while $i > 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}
|
each命令,作用与for类似:
JavaScript
@each $member in a, b, c, d { .#{$member} { background-image: url("/image/#{$member}.jpg"); } }
1
2
3
4
5
|
@each $member in a, b, c, d {
.#{$member} {
background-image: url("/image/#{$member}.jpg");
}
}
|
5.3 自定义函数
SASS允许客户编写本人的函数。
JavaScript
@function double($n) { @return $n * 2; } #sidebar { width: double(5px); }
1
2
3
4
5
6
|
@function double($n) {
@return $n * 2;
}
#sidebar {
width: double(5px);
}
|
(完)
赞 2 收藏 评论
1.mac 下sass景况配置
SASS是大器晚成种CSS的开拓工具,提供了比相当多低价的写法,大大节约了设计者的年月,使得CSS的付出,变得轻便和可爱护。
本文化总同盟结了SASS的首要性用法。笔者的对象是,有了那篇作品,平日的貌似采取就不要求去看官方文书档案了。
gem 代理设置
设置Gem代理
2.1 安装
SASS是Ruby语言写的,然则相互的语法未有关联。不懂Ruby,照样使用。只是必得先安装Ruby,然后再安装SASS。
譬喻你已经设置好了Ruby,接着在命令行输入上面的命令:
gem install sass
然后,就足以接纳了。
2.2 使用
SASS文件就是数见不鲜的文书文件,里面能够直接行使CSS语法。文件后缀名是.scss,意思为Sassy CSS。
下边包车型地铁一声令下,能够在显示器上突显.scss文件转发的css代码。(若是文件名字为test。卡塔尔国
sass test.scss
假诺要将显得结果保存成文件,前面再跟三个.css文件名。
sass test.scss test.css
SASS提供八个编写翻译风格的选项:
* nested:嵌套缩进的css代码,它是暗中认可值。
* expanded:未有缩进的、扩张的css代码。
* compact:简洁格式的css代码。
* compressed:压缩后的css代码。
生育意况个中,日常选择最后三个采摘。
sass --style compressed test.sass test.css
您也足以让SASS监听有些文件或目录,风流倜傥旦源文件有改观,就自动生成编写翻译后的本子。
// watch a file
sass --watch input.scss:output.css
// watch a directory
sass --watch app/sass:public/stylesheets
SASS的官方网站,提供了一个在线转变器。你能够在那边,试运作上边包车型大巴各个例子。
先安装极端全局代理 export http_proxy=
3.1 变量
SASS允许利用变量,全体变量以$开始。
$blue : #1875e7;
div {
color : $blue;
}
假若变量需求镶嵌在字符串之中,就务须必要写在#{}之中。
$side : left;
.rounded {
border-#{$side}-radius: 5px;
}
3.2 总计成效
SASS允许在代码中运用算式:
body {
margin: (14px/2);
top: 50px 100px;
right: $var * 10%;
}
3.3 嵌套
SASS允许接受器嵌套。比方,下面包车型地铁CSS代码:
div h1 {
color : red;
}
能够写成:
div {
hi {
color:red;
}
}
天性也能够嵌套,比方border-color属性,能够写成:
p {
border: {
color: red;
}
}
潜心,border前面总得抬高冒号。
在嵌套的代码块内,能够行使&援用父成分。举例a:hover伪类,能够写成:
a {
&:hover { color: #ffb3ff; }
}
3.4 注释
SASS共有二种注释风格。
标准的CSS注释 /* comment */ ,会保留到编写翻译后的文件。
单行注释 // comment,只保留在SASS源文件中,编写翻译后被略去。
在/*末尾加二个感叹号,表示那是"主要注释"。就算是减掉方式编写翻译,也会保留那行注释,平时能够用于注明版权新闻。
/*!
首要注释!
*/
然后设置gem代理 gem install bootstrap-scss --http-proxy $http_proxy
4.1 继承
SASS允许二个选择器,世袭另一个采用器。举例,现成class1:
.class1 {
border: 1px solid #ddd;
}
class2要世袭class1,就要采纳@extend命令:
.class2 {
@extend .class1;
font-size:120%;
}
4.2 Mixin
Mixin有一点像C语言的宏(macro卡塔尔国,是能够采纳的代码块。
应用@mixin命令,定义多少个代码块。
@mixin left {
float: left;
margin-left: 10px;
}
行使@include命令,调用这一个mixin。
div {
@include left;
}
mixin的强有力的地方,在于能够钦命参数和缺省值。
@mixin left($value: 10px) {
float: left;
margin-right: $value;
}
使用的时候,依照须求出席参数:
div {
@include left(20px);
}
上边是叁个mixin的实例,用来变化浏览器前缀。
@mixin rounded($vert, $horz, $radius: 10px) {
style="font-size: 16px;"> border-#{$vert}-#{$horz}-radius: $radius;
style="font-size: 16px;"> -moz-border-radius-#{$vert}#{$horz}: $radius;
style="font-size: 16px;"> -webkit-border-#{$vert}-#{$horz}-radius: $radius;
}
利用的时候,能够像下边那样调用:
#navbar li { @include rounded(top, left); }
#footer { @include rounded(top, left, 5px); }
4.3 颜色函数
SASS提供了部分内置的颜料函数,以便生成种类颜色。
lighten(#cc3, 10%) // #d6d65c
darken(#cc3, 10%) // #a3a329
grayscale(#cc3) // #808080
complement(#cc3) // #33c
4.4 插入文件
@import命令,用来插入外界文件。
@import "path/filename.scss";
若果插入的是.css文件,则无差异于css的import命令。
@import "foo.css";
一、什么是SASS
SASS是黄金时代种CSS的开荒工具,提供了数不尽方便的写法,大大节约了设计者的岁月,使得CSS的支出,变得轻巧和可珍惜。
本文化总同盟结了SASS的首要用法。作者的目的是,有了那篇小说,平日的平日选用就没有必要去看法定文档了。
二、安装和平运动用
2.1 安装
SASS是Ruby语言写的,不过互相的语法未有涉嫌。不懂Ruby,照样使用。只是必得先安装Ruby,然后再安装SASS。
风流浪漫经你曾经设置好了Ruby,接着在命令行输入下边包车型地铁一声令下:
gem install sass
接下来,就足以接收了。
2.2 使用
SASS文件便是平日的文书文件,里面能够直接选用CSS语法。文件后缀名是.scss,意思为Sassy CSS。
上边的授命,能够在显示屏上展现.scss文件转载的css代码。(假如文件名叫test。卡塔 尔(英语:State of Qatar)
sass test.scss
若是要将显示结果保存成文件,前面再跟一个.css文件名。
sass test.scss test.css
SASS提供几个编写翻译风格的选项:
* nested:嵌套缩进的css代码,它是暗中同意值。
* expanded:未有缩进的、扩张的css代码。
* compact:简洁格式的css代码。
* compressed:压缩后的css代码。
生产意况在那之中,经常接纳最终三个筛选。
sass --style compressed test.sass test.css
您也足以让SASS监听有些文件或目录,大器晚成旦源文书有退换,就自动生成编写翻译后的本子。
// watch a file
sass --watch input.scss:output.css
// watch a directory
sass --watch app/sass:public/stylesheets
SASS的官网,提供了一个在线转变器。你能够在此,试运作下边包车型客车各个例子。
三、基本用法
3.1 变量
SASS允许接受变量,全数变量以$开始。
$blue : #1875e7;
div {
color : $blue;
}
要是变量供给镶嵌在字符串之中,就务须需求写在#{}之中。
$side : left;
.rounded {
border-#{$side}-radius: 5px;
}
3.2 总括功用
SASS允许在代码中动用算式:
body {
margin: (14px/2);
top: 50px 100px;
right: $var * 10%;
}
3.3 嵌套
SASS允许接纳器嵌套。举个例子,上面包车型大巴CSS代码:
div h1 {
color : red;
}
能够写成:
div {
hi {
color:red;
}
}
个性也能够嵌套,举个例子border-color属性,能够写成:
p {
border: {
color: red;
}
}
介意,border后边总得抬高冒号。
在嵌套的代码块内,能够应用&引用父成分。举个例子a:hover伪类,能够写成:
a {
&:hover { color: #ffb3ff; }
}
3.4 注释
SASS共有两种注释风格。
标准的CSS注释 /* comment */ ,会保留到编写翻译后的公文。
单行注释 // comment,只保留在SASS源文件中,编写翻译后被略去。
在/*末尾加一个感叹号,表示那是"首要注释"。即便是削减情势编写翻译,也会保留那行注释,平日能够用于注脚版权音讯。
/*!
关键注释!
*/
四、代码的录用
4.1 继承
SASS允许二个接纳器,继承另三个接受器。举例,现存class1:
.class1 {
border: 1px solid #ddd;
}
class2要世袭class1,就要选用@extend命令:
.class2 {
@extend .class1;
font-size:120%;
}
4.2 Mixin
Mixin有一点点像C语言的宏(macro卡塔尔,是足以选取的代码块。
应用@mixin命令,定义二个代码块。
@mixin left {
float: left;
margin-left: 10px;
}
动用@include命令,调用那些mixin。
div {
@include left;
}
mixin的有力之处,在于能够钦赐参数和缺省值。
@mixin left($value: 10px) {
float: left;
margin-right: $value;
}
使用的时候,依据要求插手参数:
div {
@include left(20px);
}
上边是四个mixin的实例,用来变化浏览器前缀。
@mixin rounded($vert, $horz, $radius: 10px) {
border-#{$vert}-#{$horz}-radius: $radius;
-moz-border-radius-#{$vert}#{$horz}: $radius;
-webkit-border-#{$vert}-#{$horz}-radius: $radius;
}
利用的时候,能够像下边那样调用:
#navbar li { @include rounded(top, left); }
#footer { @include rounded(top, left, 5px); }
4.3 颜色函数
SASS提供了一些放到的颜色函数,以便生成连串颜色。
lighten(#cc3, 10%) // #d6d65c
darken(#cc3, 10%) // #a3a329
grayscale(#cc3) // #808080
complement(#cc3) // #33c
4.4 插入文件
@import命令,用来插入外界文件。
@import "path/filename.scss";
假诺插入的是.css文件,则一点差异也未有于css的import命令。
@import "foo.css";
五、高档用法
5.1 条件语句
@if能够用来判别:
p {
@if 1 1 == 2 { border: 1px solid; }
@if 5 < 3 { border: 2px dotted; }
}
配套的还应该有@else命令:
@if lightness($color) > 30% {
background-color: #000;
} @else {
background-color: #fff;
}
5.2 循环语句
SASS支持for循环:
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}
也支持while循环:
$i: 6;
@while $i > 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}
each命令,作用与for类似:
@each $member in a, b, c, d {
.#{$member} {
background-image: url("/image/#{$member}.jpg");
}
}
5.3 自定义函数
SASS允许客户编写本人的函数。
@function double($n) {
@return $n * 2;
}
#sidebar {
width: double(5px);
}
(完)
5.1 条件语句
@if可以用来判别:
p {
@if 1 1 == 2 { border: 1px solid; }
@if 5 < 3 { border: 2px dotted; }
}
配套的还会有@else命令:
@if lightness($color) > 30% {
} @else {
background-color: #fff;
}
5.2 循环语句
SASS支持for循环:
@for $i from 1 to 10 {
.border-#{$i} {
border: #{$i}px solid blue;
}
}
也支持while循环:
$i: 6;
@while $i > 0 {
.item-#{$i} { width: 2em * $i; }
$i: $i - 2;
}
each命令,作用与for类似:
@each $member in a, b, c, d {
.#{$member} {
background-image: url("/image/#{$member}.jpg");
}
}
5.3 自定义函数
SASS允许客户编写本身的函数。
@function double($n) {
@return $n * 2;
}#sidebar {
width: double(5px);
}
原稿地址:
本文由星彩网app下载发布于前端技术,转载请注明出处:前端css框架SASS使用教程,sass学习笔记