劉振強
(廊坊職業技術學院,河北 廊坊 065001)
在網頁設計制作技術發生翻天覆地的新趨勢下,使用DIV+CSS布局已成為最流行的技術。CSS的技術運用,解決了Web前端設計更豐富的動畫變換效果的基礎上使Web頁面的載荷更加小巧。但CSS是標記語言,仍有冗雜和低復用性等缺陷,CSS預編譯的出現也就在情理之中了。預編譯即預處理,是通過讀取編寫好的腳本使用預編譯系統解析成CSS文件的過程。本文中介紹使用的Sass就是CSS預編譯系統中的一種。
Sass英文全稱為Syntactically Awesome Stylesheets,是將腳本解析成CSS的一種小型腳本語言[1]。其包含兩套語法,分別是與Haml類似的“縮進語法”和與CSS類似的“塊語法”。這兩套語法通過擴展名.sass及.scss進行區分。Sass是對CSS語法的一種擴充,增加了混入、選擇器、繼承等特性。使用Sass預編譯后的CSS代碼更方便于組織和維護。Sass可通過安裝命令“choco install sass”使用Chocolatey軟件包管理工具進行安裝,安裝結束后鍵入“sass—version”查看Sass的版本號,以確認Sass安裝成功。鍵入"sass input.scss output.css"即可將Sass腳本編譯為CSS層疊樣式表文件。
2.1.1 HTML元素
HTML元素的布局如圖1所示。
2.2.2 CSS樣式設計及Sass腳本的編寫

圖1 HTML元素的布局
圖片輪播效果采用響應式布局,CSS樣式設計中將

圖2 圖片輪播布局的Sass腳本
2.2.1 圖片輪播的CSS樣式設計及Sass腳本的編寫
從圖片輪播效果整體看圖片的淡出淡入是同一個動畫效果,使用CSS中animation-delay樣式來控制將opacity樣式設置為1或0完成圖片的顯示與透明效果,設置animation-timing-function:linear控制動畫的播放過程為50秒,圖片停留9秒、淡出淡入1秒并使用animation-iteration-count:infinite樣式實現連續輪換。Sass腳本如圖3所示。在Sass中混合指令可以定義重復使用的樣式,本例動畫中為兼容各瀏覽器需添加相應的前綴如圖3中17至25行。使用@include指令引用混合樣式如圖3中27至42行。
2.2.2 輪播動畫焦點的CSS樣式設計及Sass腳本的編寫
輪播焦點動畫仍使用圖片輪播的動畫過程。在CSS中animation-delay樣式來控制將opacity樣式設置為1或0完成輪播焦點的切換。Sass腳本如圖4所示。

圖3 輪播動畫圖片切換的Sass腳本
圖5為圖片輪播在Opera瀏覽器中的測試效果。

圖4 輪播動畫焦點的Sass腳本

圖5 瀏覽器中的測試效果
以上是對圖片輪播動畫的CSS設計及編寫相對應的Sass腳本的概要描述,通過實踐發現Sass作為預編譯語言不但具有變量和邏輯結構等編程語言中的一些基本屬性,還包括混入、選擇器、繼承等特有屬性。總結起來,使用Sass可給開發者帶來更簡潔、適應性更強、可讀性更佳,更易于的維護的CSS層疊樣式表文件,因此,這也將是CSS的發展方向之一。