本文直接用scss語(yǔ)法規(guī)則寫的scss文件炒俱,直接復(fù)制代碼保存即可用
/*
** SASS 快速入門
**
/*
** 1. 使用變量,
** 1.1 聲明變量以$符號(hào)標(biāo)識(shí) ()
** 1.2 引用變量
** 1.3 變量名用中劃線還是下劃線分隔;個(gè)人喜好愧驱,建議用中劃線。
**
*/
$base-color: #ccc; /*聲明變量*/
$side: left;
.main-container {
background-color: $base-color; /*引用變量*/
border-#{$side}-radius: 5px; /*在字符連接時(shí),要用#開頭和一對(duì)花括號(hào)包裹*/
}
/* 2. 嵌套CSS 規(guī)則
** 2-1. 父選擇器的標(biāo)識(shí)符&
** 2-2. 群組選擇器的嵌套
** 2-3. 子組合選擇器和同層組合選擇器:>称簿、+和~
** 2-4. 嵌套屬性;
*/
.container {
p {
padding: 10px;
}
.item {
width: 200px;
height: 40px;
}
a {
background-color: #ccc;
&:hover { /*父選擇器的標(biāo)識(shí)符&*/
color: fff;
background-color: green;
}
}
h1, h2, h3 { /*群組選擇器的嵌套;*/
margin-bottom: .8em
}
article { /*子組合選擇器和同層組合選擇器:>耸棒、+和~*/
~ article { border-top: 1px dashed #ccc }
> section { background: #eee }
dl > {
dt { color: #333 }
dd { color: #555 }
}
nav + & { margin-top: 0 }
}
.div {
border-left: {
color: $base-color;
width: 1px;
style: solid; /*當(dāng)然,這個(gè)更簡(jiǎn)單的是border-left: 1px solid #ccc*/
}
}
}
/*
** 3. 導(dǎo)入SASS文件
** 3-1 關(guān)鍵字 @import <引用文件> 省略文件sass姨蟋、scss后綴
** 3-2 使用SASS部分文件屉凯,sass局部文件的文件名以下劃線開頭。
** 即只引用該文件中的樣式眼溶,在編譯時(shí)卻生成該文件對(duì)應(yīng)的css文件
** 3-3 默認(rèn)變量值
** 關(guān)鍵字 !default
** 聲明某個(gè)可以被其他sass文件改變的屬性提供默認(rèn)值
** 3-4 嵌套導(dǎo)入
** 跟原生的css不同悠砚,sass允許@import命令寫在css規(guī)則內(nèi)。
** 3-5 原生的CSS導(dǎo)入
** 需要把原生css文件的后綴改成scss偷仿,然后直接導(dǎo)入就好哩簿,scss兼容css語(yǔ)法
**
*/
@import '_reset';
/* 這個(gè)_reset.scss文件我只想在這里引用它宵蕉,而在編譯的時(shí)候,
** 不會(huì)生成對(duì)應(yīng)的css文件节榜,也就是_reset.css文件*/
$box-width: 100px !default; /*默認(rèn)變量值*/
/*$box-width: 10px; /*若自己后面覆蓋了*/
.box-width {
width: $box-width; /*我在_reset.scss中羡玛,聲明$fancybox-width: 200px; 若沒(méi)有外部引用,就默認(rèn)400px;*/
}
/*嵌套導(dǎo)入*/
.iframe {
.div {
position: absolute;
}
@import 'iframe'; /*不加分號(hào)會(huì)報(bào)錯(cuò) */
}
/*原生的CSS導(dǎo)入*/
@import 'myCssFile';
/**
** 4. 注釋 /***/ /*或者*/ //雙斜線注釋 /*!貌似還有有這種米字號(hào)后加感嘆號(hào)的
/*
** 5. 混合器
** 混合器使用@mixin標(biāo)識(shí)符定義宗苍。
** 5-1. 不傳參數(shù)
** 5-2. 傳一個(gè)或多個(gè)參數(shù)
** 5-3. 默認(rèn)參數(shù)
*/
@mixin div-demo { //無(wú)參數(shù)
width: 100px;
height: 100px;
border: 1px solid #ccc;
}
@mixin rounded-corners($size) { //帶參數(shù)
-moz-border-radius: $size;
-webkit-border-radius: $size;
border-radius: $size;
}
@mixin border-radius ( $left-radius, $right-radius ) { //多個(gè)參數(shù)
-webkit-border-left-radius: $left-radius;
-moz-border-left-radius: $left-radius;
-ms-border-left-radius: $left-radius;
border-left-radius: $left-radius;
-webkit-border-right-radius: $right-radius;
-moz-border-right-radius: $right-radius;
-ms-border-right-radius: $right-radius;
border-right-radius: $right-radius;
}
@mixin border-radius-default ( $default, $left-radius: $default, $right-radius: $default ) { //默認(rèn)參數(shù)
border-left-radius: $left-radius;
border-right-radius: $right-radius; /*為看得清楚些稼稿,就把兼容寫法去掉*/
}
@mixin border-radius-default-2px ( $default:2px, $left-radius: $default, $right-radius: $default ) { //默認(rèn)參數(shù)
border-left-radius: $left-radius;
border-right-radius: $right-radius; /*本應(yīng)傳多個(gè)參數(shù),但什么都不傳*/
}
.container {
.div {
@include div-demo;
@include rounded-corners(3px);
}
.div2 {
@include border-radius(3px, 6px);
}
.div3 {
@include border-radius-default(1px);
}
.div4 {
@include border-radius-default-2px();
}
}
/* 6. 繼承 @extend
****/
.container2 {
.div {
width: 100px;
height: 100px;
}
.div2 {
@extend .div;
text-shadow: 3px 3px 3px #ccc;
}
}
sass-demo鏈接:http://pan.baidu.com/s/1gfeoa9l 密碼:s64o
/*
** sass官網(wǎng): http://sass-lang.com/
** sass中文網(wǎng)快速入門: https://www.sass.hk/guide/
** sass在線轉(zhuǎn)換器: https://www.sassmeister.com/
** 阮一峰SASS用法指南: http://www.ruanyifeng.com/blog/2012/06/sass.html
*/