摘要:以前看到之類(lèi)的工具覺(jué)得應(yīng)該比較難,今天接觸了之后發(fā)現(xiàn)挺好用的,主要是方便了的編寫(xiě)。具體可以看慕課網(wǎng)教程編譯方法在命令行輸入編譯單個(gè)文件編譯整個(gè)文件夾到文件夾也就是這樣的語(yǔ)法下文中我都這樣寫(xiě)。這里貼一張慕課網(wǎng)拿到的表格。
以前看到SASS之類(lèi)的工具覺(jué)得應(yīng)該比較難,今天接觸了之后發(fā)現(xiàn)挺好用的,主要是方便了CSS的編寫(xiě)。在編寫(xiě)比較大的項(xiàng)目的時(shí)候,由于內(nèi)容很多,因此樣式表也會(huì)比較繁雜,如果要修改其中某一個(gè)的名字,就會(huì)維護(hù)起來(lái)很麻煩。因此才需要用到SASS這樣的工具來(lái)優(yōu)化CSS結(jié)構(gòu)。
一般有SCSS和SASS兩種,這兩種的文件后綴名是不一樣的,編寫(xiě)起來(lái)也會(huì)有差異。由于SCSS的寫(xiě)法更接近CSS,因此我比較喜歡SCSS的寫(xiě)法。(SASS是沒(méi)有大括號(hào)的,僅僅用縮進(jìn)來(lái)表示層次,這一點(diǎn)和python是很像的)
準(zhǔn)備 安裝由于SCSS是需要編譯的。我就直接簡(jiǎn)略關(guān)于編譯配置方法的環(huán)節(jié)。
安裝ruby。http://rubyinstaller.org/downloads
命令行安裝SASS。
安裝好了可以在命令行調(diào)用sass --version。如果顯示版本號(hào)就是安裝好啦。
具體可以看慕課網(wǎng)SASS教程
編譯方法在命令行輸入
sass srcFile.scss:destFile.css//編譯單個(gè)文件 sass srcDir/:css/;//編譯整個(gè)srcDir文件夾到css文件夾
也就是sass [s]:[d]這樣的語(yǔ)法(下文中我都這樣寫(xiě))。
使用剛剛是一些基本用法,還有一些參數(shù)可以用。
編譯參數(shù) 1.--watch上面的寫(xiě)法其實(shí)比較麻煩,因?yàn)槲覀円话銓?xiě)css都是會(huì)反復(fù)修改的,那么我們每次改了SCSS都需要再次編譯,顯得很麻煩。因此我們可以使用--watch參數(shù)監(jiān)視每一次的更改,這樣在修改CSS之后都會(huì)自動(dòng)編譯。具體如下:
sass --watch [src]:[dest];//src和dest既可以是文件也可以是文件夾
如果我們修改了SCSS,控制臺(tái)就會(huì)輸出
Change detected to: scss/test.scss write scss/css/test.css write scss/css/test.css.map2. style
由于不同的同學(xué)寫(xiě)CSS都有自己的習(xí)慣,因此這個(gè)參數(shù)就是為了讓編譯后的CSS更美觀。
語(yǔ)法是sass --watch [src]:[dest] --style property這個(gè)property就是下面描述的內(nèi)容。
默認(rèn)就是nested編譯結(jié)果是最常見(jiàn)的書(shū)寫(xiě)方法。
body{ p{ color:red; } ul{ background-color:green; } }
編譯結(jié)果
body p{ color:red;} body ul{ background-color:green;}
就是編譯出來(lái)的右大括號(hào)會(huì)另起一行
輸出的css會(huì)少很多換行
沒(méi)有空格沒(méi)有換行
.box,.size{margin-left:5px}變量
SASS類(lèi)似與一些編程語(yǔ)言。會(huì)先定義一些變量并給他們賦值,然后再在樣式表中調(diào)用。這樣我們?cè)诰S護(hù)CSS的時(shí)候就只需要把這些變量的值修改就可以了,比較方便。廢話不多說(shuō)直接看代碼:
$varGlobal:500px; .container{ $varLocal:20px; width:$varGlobal; height:$varLocal; }
看上面的代碼就知道,SASS引入了局部變量和全局變量,和其他語(yǔ)言用法差不多的就不贅述了。
嵌套先前已經(jīng)提到了結(jié)構(gòu)的嵌套。還支持屬性嵌套和偽類(lèi)嵌套。
屬性嵌套比如font就有很多屬性:font-size、font-weight等。我們可以這樣嵌套
font:{ size:// weight:// }
注意font后面有一個(gè)冒號(hào),不然就和結(jié)構(gòu)嵌套是一樣的了
偽類(lèi)嵌套.clearfix{ &:before, &:after { content:""; display: table; } &:after { clear:both; overflow: hidden; } }
用法就是加一個(gè)&:
調(diào)用混合宏
感覺(jué)這個(gè)是SASS的比較強(qiáng)大的地方,先看代碼
@mixin border-radius{ -webkit-border-radius: 3px; border-radius: 3px; } button { @include border-radius; }
這時(shí)候編譯結(jié)果為
button { -webkit-border-radius: 3px; border-radius: 3px; }
相當(dāng)于就是一個(gè)代碼塊的調(diào)用。另外混合宏還可以傳入?yún)?shù)
@mixin border-radius($radius){ -webkit-border-radius: $radius; border-radius: $radius; }
相當(dāng)于是一個(gè)函數(shù)的寫(xiě)法了。在調(diào)用的時(shí)候傳入?yún)?shù)即可
.box { @include border-radius(3px); }
還可以給默認(rèn)值
@mixin border-radius($radius:3px){ -webkit-border-radius: $radius; border-radius: $radius; }
注意css中都是用冒號(hào)表示相等。不用等號(hào)
帶@的語(yǔ)句一般都不加冒號(hào),直接空格
繼承.size{ background-color:#777; } .box{ @extend .size; }占位符
%placeholder
這種寫(xiě)法在不調(diào)用之前不會(huì)產(chǎn)生任何css代碼。我個(gè)人感覺(jué)比較像是一個(gè)基類(lèi)。用法就是和繼承一樣的。
.body{ @extend %placeholder }
這里貼一張慕課網(wǎng)拿到的表格。
SASS基礎(chǔ)就先寫(xiě)到這里,還有很多高級(jí)用法以后再補(bǔ)充~
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/111680.html
摘要:行爬取頂點(diǎn)全網(wǎng)任意小說(shuō)掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái),今天我們從零開(kāi)始,實(shí)現(xiàn)爬取頂點(diǎn)小說(shuō)網(wǎng)任意一本小說(shuō)的功能。文件標(biāo)記所有文件我的后端書(shū)架后端掘金我的后端書(shū)架月前本書(shū)架主要針對(duì)后端開(kāi)發(fā)與架構(gòu)。 30行js爬取頂點(diǎn)全網(wǎng)任意小說(shuō) - 掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái)(dspider),今天我們從零開(kāi)始,實(shí)現(xiàn)爬取頂點(diǎn)小說(shuō)網(wǎng)任意一本小說(shuō)的功能。 如果你還不知道客戶端爬取,可以先看...
摘要:行爬取頂點(diǎn)全網(wǎng)任意小說(shuō)掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái),今天我們從零開(kāi)始,實(shí)現(xiàn)爬取頂點(diǎn)小說(shuō)網(wǎng)任意一本小說(shuō)的功能。文件標(biāo)記所有文件我的后端書(shū)架后端掘金我的后端書(shū)架月前本書(shū)架主要針對(duì)后端開(kāi)發(fā)與架構(gòu)。 30行js爬取頂點(diǎn)全網(wǎng)任意小說(shuō) - 掘金之前連續(xù)多篇文章介紹客戶端爬取平臺(tái)(dspider),今天我們從零開(kāi)始,實(shí)現(xiàn)爬取頂點(diǎn)小說(shuō)網(wǎng)任意一本小說(shuō)的功能。 如果你還不知道客戶端爬取,可以先看...
摘要:上例中打印的結(jié)果是對(duì)中的名都做了處理,使用對(duì)象來(lái)保存原和混淆后的對(duì)應(yīng)關(guān)系。結(jié)合實(shí)踐在處直接使用中名即可。如因?yàn)橹粫?huì)轉(zhuǎn)變類(lèi)選擇器,所以這里的屬性選擇器不需要添加。 showImg(http://gtms01.alicdn.com/tps/i1/TB15w0HLpXXXXbdaXXXjhvsIVXX-600-364.png); CSS 是前端領(lǐng)域中進(jìn)化最慢的一塊。由于 ES2015/201...
摘要:構(gòu)建構(gòu)建就是把源代碼轉(zhuǎn)換成發(fā)布到線上的可執(zhí)行代碼,包括如下內(nèi)容。自動(dòng)刷新監(jiān)聽(tīng)本地源代碼的變化,自動(dòng)重新構(gòu)建刷新瀏覽器。自動(dòng)發(fā)布更新完代碼后,自動(dòng)構(gòu)建出線上發(fā)布代碼并傳輸給發(fā)布系統(tǒng)。將文件放入到項(xiàng)目中,在中新建一個(gè)放字體圖標(biāo)的文件夾。 項(xiàng)目地址 github.com/wudiufo/Web… 知識(shí)點(diǎn)概覽: Loader,HMR ,Create React App, Caching, Plug...
摘要:今天就嘗試著一起來(lái)聊聊吧,旨在幫大家加深理解新手更容易上路,都能從到搭建配置自定屬于自己的腳手架,或?qū)σ逊庋b好的腳手架有進(jìn)一步的鞏固,接下來(lái)蘇南會(huì)詳細(xì)講解中的每一個(gè)配置字段的作用部分為新增。 showImg(https://segmentfault.com/img/bVbjmMV?w=1008&h=298); 前言 經(jīng)常會(huì)有群友問(wèn)起webpack、react、redux、甚至cre...
閱讀 1829·2021-09-14 18:03
閱讀 2267·2019-08-30 15:48
閱讀 1120·2019-08-30 14:09
閱讀 506·2019-08-30 12:55
閱讀 2724·2019-08-29 11:29
閱讀 1482·2019-08-26 13:43
閱讀 2311·2019-08-26 13:30
閱讀 2368·2019-08-26 12:17