亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

sass

2024-04-27 15:12:31
字體:
來源:轉載
供稿:網友

基礎篇 一、sass與sCSS的區別 1、文件擴展名不同,sass(.sass),scss(.scss)。 2、語法書寫方式不同,sass不帶 {} 和;,scss的語法書寫和css語法類似。

二、編譯命令 1、單文件編譯(一次性編譯) sass 要編譯的sass文件路徑/style.scss:要輸出css文件路徑/style.css 2、多文件編譯(一次性編譯) sass sass/:css/ 表示將sass文件夾中所有的.scss(.sass)文件編譯成 .css文件,并且將這些css文件都放在項目中的css文件夾中。 3.實時編譯 sass –watch 要編譯的sass文件路徑/style.scss:要輸出css文件路徑/style.css sass –watch 要編譯sass文件路徑/文件夾名:要輸出csss文件路徑/css文件夾

三、常見編譯錯誤 1、字符編譯引起:sass編譯不支持GBK編碼,所以創建sass文件時,需要將文件編碼設置為utf-8。 2、路徑中的中文字符引起:建議文件名或文件目錄不要使用中文。

四、輸出方式: 1、嵌套輸出方式nested sass –watch test.scss:test.css –style nested 2、展開輸出方式expanded sass –watch test.scss:test.css –style expanded 3、緊湊輸出方式compact sass –watch test.scss:test.css –style compact 4、壓縮輸出方式comPRessed sass –watch test.scss:test.css –style compressed

五、sass調試 只要瀏覽器支持sourcemap功能,可在瀏覽器直接調試sass文件,并能看到sass文件編譯。(sass3.3版本以下,需要在編譯的時候添加“–sourcemap” 參數: sass –watch –scss –sourcemap style.scss:style.css)。

六、sass基礎特性: 1、變量聲明:$ 2、默認變量:在變量值后加 !default; 3、覆蓋默認變量:在默認變量前重新聲明下變量即可。 4、sass嵌套 選擇器嵌套:nav { a { color:red; } header & { color:green; } } 屬性嵌套:.box { border:{ top:1px solid red; bottom:1px solid green; } } 偽類嵌套:.clearfix{ &:before, &:after { content:”“; display: table; } &:after { clear:both; overflow: hidden; } }

七、混合宏 1、聲明混合宏(在 Sass 中,使用“@mixin”來聲明一個混合宏) 不帶參數混合宏 @mixin border-radius{ -webkit-border-radius: 5px; border-radius: 5px; } 帶參數混合宏 @mixin border-radius(radius:5px)?webkit?border?radius:$radius;border?radius:$radius;復雜的混合宏@mixinbox?shadow(shadow…) { @if length(shadow) >= 1 {      @include prefixer(box-shadow,shadow); } @else{ shadow:004pxrgba(0,0,0,.3);@includeprefixer(box?shadow,shadow); } } 2、調用混合宏(使用“@include”來調用聲明好的混合宏) @mixin border-radius{ -webkit-border-radius: 3px; border-radius: 3px; } button { @include border-radius; }

八、擴展/繼承 在 Sass 中是通過關鍵詞 “@extend”來繼承已存在的類樣式塊,從而實現代碼的繼承。 .btn { border: 1px solid #ccc; padding: 6px 10px; font-size: 14px; }

.btn-primary { background-color: #f36; color: #fff; @extend .btn; } 九、占位符%placeholder %placeholder 聲明的代碼,如果不被 @extend 調用的話,不會產生任何代碼 //SCSS %mt5 { margin-top: 5px; } %pt5{ padding-top: 5px; }

.btn { @extend %mt5; @extend %pt5; } 通過 @extend 調用的占位符,編譯出來的代碼會將相同的代碼合并在一起。

十、sass插件值 #{} 十一、注釋 1、//:在css中不顯示 2、/**/:在css中顯示 十二、數據類型 1、數字: 1、2、10px 2、字符串:‘foo’ SassScript 支持 CSS 的兩種字符串類型: ● 有引號字符串 (quoted strings),如 “Lucida Grande” 、’http://sass-lang.com‘; ● 無引號字符串 (unquoted strings),如 sans-serifbold。 在編譯 CSS 文件時不會改變其類型。只有一種情況例外,使用 #{ }插值語句 (interpolation) 時,有引號字符串將被編譯為無引號字符串,這樣方便了在混合指令 (mixin) 中引用選擇器名。

3、顏色:blue 4、布爾值:ture,false; 5、空值:null 6、值列表:用空格或者逗號分開:1.5em 1em 0 2em、Helvetica,Arial,sans-serif。 十三、sass運算 1、乘法、除法運算1個帶單位就好,除法運算需要給運算的外面添加一個小括號( ),因為 Sass 中做除法運算時,直接使用“/”符號做為除號時,將不會生效,編譯時既得不到我們需要的效果,也不會報錯; 2、顏色運算:所有算數運算都支持顏色值,并且是分段運算的 p { color: #010203 + #040506; }

計算公式為 01 + 04 = 05、02 + 05 = 07 和 03 + 06 = 09, 并且被合成為: 如此編譯出來的 CSS 為: p { color: #050709; } 算數運算也能將數字和顏色值 一起運算,同樣也是分段運算的。如: p { color: #010203 * 2; } 計算公式為 01 * 2 = 02、02 * 2 = 04 和 03 * 2 = 06, 并且被合成為: p { color: #020406; } 3、字符運算: 在 Sass 中可以通過加法符號“+”來對字符串進行連接。例如: content: “Hello” + “” + “Sass!”;  .box:before {    content: ” #{content} “; } 編譯出來的CSS: .box:before { content: ” Hello Sass! “; } 除了在變量中做字符連接運算之外,還可以直接通過 +,把字符連接在一起: div { cursor: e + -resize; } 編譯出來的CSS: div { cursor: e-resize; } 注意,如果有引號的字符串被添加了一個沒有引號的字符串 (也就是,帶引號的字符串在 + 符號左側), 結果會是一個有引號的字符串。 同樣的,如果一個沒有引號的字符串被添加了一個有引號的字符串 (沒有引號的字符串在 + 符號左側), 結果將是一個沒有引號的字符串。 例如: p:before { content: “Foo ” + Bar; font-family: sans- + “serif”; } 編譯出來的 CSS: p:before { content: “Foo Bar”; font-family: sans-serif; } 進階篇 一、網址:http://www.imooc.com/learn/436(慕課網) 1、列表函數 列表函數主要包括一些對列表參數的函數使用,主要包括以下幾種: ● length($list):返回一個列表的長度值; length() 函數中的列表參數之間使用空格隔開,不能使用逗號,否則函數將會出錯

● nth(list,n):返回一個列表中指定的某個標簽值 nth() 函數用來指定列表中某個位置的值。不過在 Sass 中,nth() 函數和其他語言不同,1 是指列表中的第一個標簽值,2 是指列給中的第 二個標簽值。注:在 nth(list,n) 函數中的 $n 必須是大于 0 的整數

● join(list1,list2, [separator]):將兩個列給連接在一起,變成一個列表;只能將兩個列表連接成一個列表,如果直接連接兩個以上的列表將會報錯separator:comma/space/auto

● append(list1,val, [separator]):將某個值放在列表的最后;●zip(lists…):將幾個列表結合成一個多維的列表; ● index(list,value):返回一個值在列表中的位置值。 ● 2、@import 規則 Sass 擴展了 CSS 的@import 規則 ,讓它能夠引入 SCSS 和 Sass 文件。 所有引入的 SCSS 和 Sass 文件都會被合并并輸出一個單一的 CSS 文件。 另外,被導入的文件中所定義的變量或 mixins 都可以在主文件中使用。 @import 根據文件名引入。 默認情況下,它會尋找 Sass 文件并直接引入, 但是,在少數幾種情況下,它會被編譯成 CSS 的 @import 規則: ● 如果文件的擴展名是 .css。 ● 如果文件名以 http:// 開頭。 ● 如果文件名是 url()。 ● 如果 @import 包含了任何媒體查詢(media queries)。 如果上述情況都沒有出現,并且擴展名是 .scss 或 .sass, 該名稱的 Sass 或 SCSS 文件就會被引入。 如果沒有擴展名, Sass 將試著找出具有 .scss 或 .sass 擴展名的同名文件并將其引入。 例如: @import “foo.scss”; 或 @import “foo”; 兩者都將引入 foo.scss 文件, 而 @import “foo.css”; @import “foo” screen; @import “http://foo.com/bar“; @import url(foo); 將被編譯為: @import “foo.css”; @import “foo” screen; @import “http://foo.com/bar“; @import url(foo); 如果你有一個 SCSS 或 Sass 文件需要引入, 但是你又不希望它被編譯為一個 CSS 文件, 這時,你就可以在文件名前面加一個下劃線,就能避免被編譯。 這將告訴 Sass 不要把它編譯成 CSS 文件。

3、@at-root @at-root 從字面上解釋就是跳出根元素。當你選擇器嵌套多層之后,想讓某個選擇器跳出,此時就可以使用 @at-root。來看一個簡單的示例: .a { color: red;

.b { color: orange;

.c { color: yellow; @at-root .d { color: green; }}

} }

4、@debug @debug 在 Sass 中是用來調試的,當你的在 Sass 的源碼中使用了 @debug 指令之后,Sass 代碼在編譯出錯時,在命令終端會輸出你設置的提示 Bug: @debug 10em + 12em; 會輸出: Line 1 DEBUG: 22em

@error 和 @warn、@debug 功能是如出一轍。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本一欧美一欧美一亚洲视频| 日韩国产高清视频在线| 欧美成人午夜激情| 中文字幕日本欧美| 在线观看不卡av| 亚洲欧洲美洲在线综合| 亚洲精品天天看| 北条麻妃久久精品| 久久精品久久久久久| 在线看欧美日韩| 成人h猎奇视频网站| 91人成网站www| 国产精品入口免费视| 俺也去精品视频在线观看| 日本一本a高清免费不卡| 国产va免费精品高清在线| 中文字幕精品久久久久| 精品国产福利在线| 国产成人在线精品| 美女精品久久久| 亚洲成avwww人| 欧美伊久线香蕉线新在线| 国产不卡av在线免费观看| 国产精品国模在线| 国产综合在线视频| 欧美性xxxxx极品娇小| 国产免费一区二区三区在线能观看| 亚洲男人7777| 久久久精品2019中文字幕神马| 国产精品精品视频一区二区三区| 亚洲精品日韩激情在线电影| 国产精品777| 亚洲视频在线免费观看| 欧美黄网免费在线观看| 亚洲欧美国产日韩天堂区| 国产精国产精品| 日韩在线观看av| 国产精品海角社区在线观看| xxxx欧美18另类的高清| 久久精品国产精品亚洲| 欧美一区二区三区艳史| 欧美自拍视频在线观看| 欧美午夜精品久久久久久人妖| 日韩人在线观看| www日韩欧美| 久99九色视频在线观看| 欧美激情精品久久久久久| 久久久女人电视剧免费播放下载| 亚洲成人黄色在线观看| 久久久999国产精品| 日韩激情在线视频| 一个人www欧美| 亚洲精品欧美一区二区三区| 中文字幕自拍vr一区二区三区| 欧美一区第一页| 亚洲片在线观看| 国产精品一区二区久久| 成人免费看吃奶视频网站| 日韩av三级在线观看| 91精品国产高清久久久久久| 亚洲加勒比久久88色综合| 国产精品狠色婷| 欧美高清视频一区二区| 国产成人精品a视频一区www| 69av在线播放| 午夜精品一区二区三区在线视频| 国产精品青青在线观看爽香蕉| 国产日韩在线看| 亚洲成av人乱码色午夜| 日本欧美黄网站| 青青草99啪国产免费| 亚洲第一中文字幕在线观看| 欧美三级欧美成人高清www| 日韩电影大片中文字幕| 丝袜美腿亚洲一区二区| 欧美午夜视频在线观看| 最新国产成人av网站网址麻豆| 亚洲精选在线观看| 91精品国产综合久久香蕉| 综合网日日天干夜夜久久| 91精品国产精品| 精品亚洲aⅴ在线观看| 亚洲一区二区三区sesese| 欧洲成人免费视频| 中文字幕久久精品| 91情侣偷在线精品国产| 日韩视频欧美视频| 日韩视频永久免费观看| 亚洲国语精品自产拍在线观看| 日韩av免费观影| 欧美亚洲视频在线观看| 国产日韩欧美自拍| 欧美一级电影免费在线观看| 亚洲欧美日韩第一区| 成人性生交xxxxx网站| 亚洲激情国产精品| 久久精品亚洲精品| 欧美精品成人在线| 91九色综合久久| 欧美高清一级大片| 久久人人爽人人爽爽久久| 国产精品成人一区二区三区吃奶| 亚洲精品一二区| 91中文在线视频| 国产成人精品在线| 欧美极品少妇全裸体| 一本色道久久88精品综合| 亚洲欧美国产日韩中文字幕| 一区二区三欧美| 亚洲欧美综合区自拍另类| 91久久久亚洲精品| 亚洲精品国产福利| 精品女同一区二区三区在线播放| 日韩av色在线| 91精品国产高清自在线看超| 亚洲男人天堂九九视频| 精品国产91久久久久久老师| 色狠狠av一区二区三区香蕉蜜桃| 中文字幕欧美日韩va免费视频| 国产精品高潮呻吟久久av野狼| 国产精品91在线| 欧美性受xxxx黑人猛交| 欧美最近摘花xxxx摘花| 宅男66日本亚洲欧美视频| 国产成人精品视频| 亚洲欧美制服第一页| 性日韩欧美在线视频| 91香蕉嫩草影院入口| 国产91色在线免费| 性色av一区二区三区红粉影视| 亚洲精品理论电影| 国产精品香蕉av| 国产精品久久久久久久午夜| 欧美黄色片在线观看| 91午夜在线播放| 欧美成人免费大片| 亚洲综合色激情五月| 欧美丝袜美女中出在线| 国产精品午夜国产小视频| 久久九九精品99国产精品| 亚洲美女福利视频网站| 国产精品一区=区| 91精品国产高清自在线| 亚洲电影第1页| 亚洲欧美国产另类| 91精品在线一区| 久久资源免费视频| 大荫蒂欧美视频另类xxxx| 91香蕉嫩草神马影院在线观看| 成年无码av片在线| 亚洲天堂av网| 精品国产乱码久久久久久虫虫漫画| 欧美高清视频在线观看| 欧美在线xxx| 91精品国产综合久久香蕉最新版| 久久亚洲精品国产亚洲老地址| 欧美体内谢she精2性欧美| 国产精品欧美一区二区| 久久亚洲综合国产精品99麻豆精品福利| 亚洲精品在线观看www| 日韩av最新在线| 国产情人节一区| 热99精品里视频精品| 66m—66摸成人免费视频|