劉振強(qiáng)
(廊坊職業(yè)技術(shù)學(xué)院,河北 廊坊 065001)
在網(wǎng)頁(yè)設(shè)計(jì)制作技術(shù)發(fā)生翻天覆地的新趨勢(shì)下,使用DIV+CSS布局已成為最流行的技術(shù)。CSS的技術(shù)運(yùn)用,解決了Web前端設(shè)計(jì)更豐富的動(dòng)畫(huà)變換效果的基礎(chǔ)上使Web頁(yè)面的載荷更加小巧。但CSS是標(biāo)記語(yǔ)言,仍有冗雜和低復(fù)用性等缺陷,CSS預(yù)編譯的出現(xiàn)也就在情理之中了。預(yù)編譯即預(yù)處理,是通過(guò)讀取編寫(xiě)好的腳本使用預(yù)編譯系統(tǒng)解析成CSS文件的過(guò)程。本文中介紹使用的Sass就是CSS預(yù)編譯系統(tǒng)中的一種。
Sass英文全稱為Syntactically Awesome Stylesheets,是將腳本解析成CSS的一種小型腳本語(yǔ)言[1]。其包含兩套語(yǔ)法,分別是與Haml類似的“縮進(jìn)語(yǔ)法”和與CSS類似的“塊語(yǔ)法”。這兩套語(yǔ)法通過(guò)擴(kuò)展名.sass及.scss進(jìn)行區(qū)分。Sass是對(duì)CSS語(yǔ)法的一種擴(kuò)充,增加了混入、選擇器、繼承等特性。使用Sass預(yù)編譯后的CSS代碼更方便于組織和維護(hù)。Sass可通過(guò)安裝命令“choco install sass”使用Chocolatey軟件包管理工具進(jìn)行安裝,安裝結(jié)束后鍵入“sass—version”查看Sass的版本號(hào),以確認(rèn)Sass安裝成功。鍵入"sass input.scss output.css"即可將Sass腳本編譯為CSS層疊樣式表文件。
2.1.1 HTML元素
HTML元素的布局如圖1所示。
2.2.2 CSS樣式設(shè)計(jì)及Sass腳本的編寫(xiě)
圖1 HTML元素的布局
圖片輪播效果采用響應(yīng)式布局,CSS樣式設(shè)計(jì)中將
圖2 圖片輪播布局的Sass腳本
2.2.1 圖片輪播的CSS樣式設(shè)計(jì)及Sass腳本的編寫(xiě)
從圖片輪播效果整體看圖片的淡出淡入是同一個(gè)動(dòng)畫(huà)效果,使用CSS中animation-delay樣式來(lái)控制將opacity樣式設(shè)置為1或0完成圖片的顯示與透明效果,設(shè)置animation-timing-function:linear控制動(dòng)畫(huà)的播放過(guò)程為50秒,圖片停留9秒、淡出淡入1秒并使用animation-iteration-count:infinite樣式實(shí)現(xiàn)連續(xù)輪換。Sass腳本如圖3所示。在Sass中混合指令可以定義重復(fù)使用的樣式,本例動(dòng)畫(huà)中為兼容各瀏覽器需添加相應(yīng)的前綴如圖3中17至25行。使用@include指令引用混合樣式如圖3中27至42行。
2.2.2 輪播動(dòng)畫(huà)焦點(diǎn)的CSS樣式設(shè)計(jì)及Sass腳本的編寫(xiě)
輪播焦點(diǎn)動(dòng)畫(huà)仍使用圖片輪播的動(dòng)畫(huà)過(guò)程。在CSS中animation-delay樣式來(lái)控制將opacity樣式設(shè)置為1或0完成輪播焦點(diǎn)的切換。Sass腳本如圖4所示。
圖3 輪播動(dòng)畫(huà)圖片切換的Sass腳本
圖5為圖片輪播在Opera瀏覽器中的測(cè)試效果。
圖4 輪播動(dòng)畫(huà)焦點(diǎn)的Sass腳本
圖5 瀏覽器中的測(cè)試效果
以上是對(duì)圖片輪播動(dòng)畫(huà)的CSS設(shè)計(jì)及編寫(xiě)相對(duì)應(yīng)的Sass腳本的概要描述,通過(guò)實(shí)踐發(fā)現(xiàn)Sass作為預(yù)編譯語(yǔ)言不但具有變量和邏輯結(jié)構(gòu)等編程語(yǔ)言中的一些基本屬性,還包括混入、選擇器、繼承等特有屬性??偨Y(jié)起來(lái),使用Sass可給開(kāi)發(fā)者帶來(lái)更簡(jiǎn)潔、適應(yīng)性更強(qiáng)、可讀性更佳,更易于的維護(hù)的CSS層疊樣式表文件,因此,這也將是CSS的發(fā)展方向之一。