關(guān)鍵詞:CSS3;特效;展開;ul;li
中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2024)28-0108-04
0 引言
隨著現(xiàn)代互聯(lián)網(wǎng)技術(shù)的快速發(fā)展壯大,網(wǎng)站成為信息展示和傳播的主要途徑之一。在內(nèi)容豐富、功能繁多的網(wǎng)站界面上,位于網(wǎng)站或應(yīng)用界面頂部的導(dǎo)航欄是一個快速訪問和操作各種功能的超級鏈接。網(wǎng)站的導(dǎo)航欄是網(wǎng)站的必要展示模塊,它是網(wǎng)站各個模塊的指路牌,引領(lǐng)用戶在各個功能頁面自由切換。針對欄目內(nèi)容分級、分層多的導(dǎo)航欄,網(wǎng)站設(shè)計開發(fā)人員往往采用可展開、可折疊的下拉展開特效來簡化網(wǎng)站。突出的效果是條理清晰的導(dǎo)航欄展開特效能迅速引起用戶注意,讓人一目了然地看到二級導(dǎo)航的全部內(nèi)容,增強用戶瀏覽網(wǎng)站的良好體驗。
網(wǎng)站的全局導(dǎo)航普遍放置在網(wǎng)頁的頂端或左側(cè),可以輕松完成網(wǎng)站各內(nèi)容頁面間的跳轉(zhuǎn),避免不熟悉網(wǎng)站的客戶在瀏覽網(wǎng)頁時“迷路”。早期的JavaScript 也可實現(xiàn)眾多網(wǎng)頁特效,JavaScript是采用動態(tài)地添加或修改DOM元素來實現(xiàn)特效,側(cè)重復(fù)雜的交互邏輯,而CSS則專注于視覺效果,內(nèi)容與表現(xiàn)相分離,代碼的可維護(hù)性和可讀性得到很大提升。網(wǎng)站導(dǎo)航欄展開特效主要體現(xiàn)的是一種視覺上的效果。
雖然導(dǎo)航欄有諸多優(yōu)點和作用,但在制作設(shè)計導(dǎo)航欄時也需要遵循一定的原則。
1) 清晰明了原則。網(wǎng)站導(dǎo)航菜單欄、引導(dǎo)按鈕務(wù)必要清晰明了。最佳的網(wǎng)站導(dǎo)航能讓用戶清晰地知道他們在網(wǎng)站中的位置,這是一種極好的引導(dǎo)方式。
2)一致性原則。一致性原則體現(xiàn)在多個方面:首先,瀏覽者在網(wǎng)站的不同頁面間切換時應(yīng)獲得相同的導(dǎo)航體驗;其次,同一主菜單下的下拉菜單內(nèi)容應(yīng)當(dāng)相似或相近,便于瀏覽者通過主菜單輕松定位子菜單。此外,導(dǎo)航欄的位置、樣式和交互方式在整個網(wǎng)站中應(yīng)保持一致。通過貫徹一致性原則,無論用戶身處網(wǎng)站的哪個部分,都能輕松瀏覽并找到所需頁面。
3)可預(yù)測性原則:可預(yù)測性是使用戶能夠預(yù)測導(dǎo)航欄鏈接行為的原則。導(dǎo)航鏈接應(yīng)以直觀且易于理解的方式命名,使用戶能夠準(zhǔn)確地預(yù)測它們將引導(dǎo)他們前往的位置。同時,應(yīng)采用常見的圖標(biāo)和符號,使用戶能夠憑借在其他網(wǎng)站上獲得的經(jīng)驗快速熟悉操作,從而降低產(chǎn)生混淆和困惑的風(fēng)險。
4) 易于訪問原則。易于訪問原則是確保導(dǎo)航欄對所有用戶,包括殘障人士和使用輔助功能的人來說都是易于使用和理解的原則。使用無障礙技術(shù),例如標(biāo)題標(biāo)簽、鍵盤導(dǎo)航和視覺輔助工具支持,以確保每個人都能夠訪問和使用導(dǎo)航欄。同時,設(shè)計者應(yīng)考慮到不同用戶的能力差異和需求,以提供更好的用戶體驗。
5) 菜單數(shù)量保持在7個以內(nèi)。因為這是人類短期記憶一次可以保存的最佳信息量。最佳的導(dǎo)航項將確保訪問者不會感到困惑。
6) 遵循網(wǎng)站導(dǎo)航設(shè)計一般結(jié)構(gòu)。以用戶熟悉的方式構(gòu)建菜單能減少用戶的認(rèn)知成本,大部分網(wǎng)站導(dǎo)航設(shè)計結(jié)構(gòu)基本都是一致的,比如主導(dǎo)航通常位于頁面的頂部等。
除此之外,根據(jù)網(wǎng)頁的定位、內(nèi)容、功能,在使用導(dǎo)航欄特效時,要做到精益求精、恰到好處。
1 基本理論
1.1 CSS3
CSS3是目前的最新版本,在CSS基礎(chǔ)上新增了選擇器、背景和邊框、列表模塊、盒子模型、超鏈接方式、文字效果、2D/3D轉(zhuǎn)換、動畫、多列布局等屬性。這使得開發(fā)人員能夠更加精細(xì)地控制網(wǎng)頁的樣式和布局。CSS3也是目前前端網(wǎng)站制作的主流技術(shù)之一,深受網(wǎng)站制作者的喜愛[1]。CSS3技術(shù)的橫空出世,為網(wǎng)頁中動畫效果及特效的實現(xiàn)提供了新的選擇,不再僅僅依賴于Flash和JavaScript,并且有取而代之之勢。
在網(wǎng)站設(shè)計開發(fā)中,CSS3定義樣式可以靈活實現(xiàn)表現(xiàn)與內(nèi)容定義相分離,這是網(wǎng)站設(shè)計的最佳方式。如示例1所示,網(wǎng)頁的樣式定義單獨放在樣式表stl.css文件里。
網(wǎng)站中風(fēng)格大同小異的共同部分內(nèi)容可以在樣式文件里統(tǒng)一定義,網(wǎng)站中的其他網(wǎng)頁引用該樣式文件即可,實現(xiàn)“一勞永逸,事半功倍”的效果(后面將通過具體例子進(jìn)行闡述)。這樣可以讓整個網(wǎng)站具有一致的視覺效果。而針對網(wǎng)頁中的不同部分,可以按照各自的特色內(nèi)容單獨修改,使網(wǎng)站風(fēng)格整體上既統(tǒng)一又有各自的特色,既充滿活力又不顯沉悶[1]。
1.2 過渡屬性
CSS3的過渡屬性提供了強大的特效功能,這些過渡屬性的組合使用,有時可以超越Flash動畫或JavaS?cript腳本的動畫效果。它可以潛移默化、不動聲色地從一種樣式轉(zhuǎn)變?yōu)榱硗庖环N樣式,添加特效效果,例如形狀的大小變化、元素的局部放大、顏色的漸變、漸顯、漸隱、速度的快慢變化等[2]。本案例將運用過渡屬性制作一個導(dǎo)航欄展開特效。
CSS3過渡屬性可以使用關(guān)鍵字transition來實現(xiàn),transition屬性的語法是:
transition: transition-property transition-durationtransition-timing-function transition-delay
transition屬性有4個可選過渡屬性參數(shù):參數(shù)一transition-property,用來設(shè)置過渡效果的CSS屬性名稱;參數(shù)二transition-duration,用來設(shè)置完成過渡效果需要的時間;參數(shù)三transition-timing-function,規(guī)定速度效果的速度曲線;參數(shù)四transition-delay,用來設(shè)置過渡效果何時開始(延遲時間)。參數(shù)一與參數(shù)二是必不可少的參數(shù),參數(shù)三與參數(shù)四可以根據(jù)需要選用。另外,“transition”屬性可以選用多個參數(shù)來設(shè)置多組特效效果,參數(shù)之間用逗號分隔開[3]。CSS3過渡屬性各參數(shù)值說明如表1所示。
2 設(shè)計實現(xiàn)
本文以某單位二級機構(gòu)網(wǎng)站導(dǎo)航欄展開特效為例,采用CSS3技術(shù)實現(xiàn)。導(dǎo)航欄整體使用過渡屬性組合實現(xiàn)展開特效效果。其中,“教學(xué)科研”是一級導(dǎo)航,當(dāng)鼠標(biāo)移至“教學(xué)科研”上時,字體和背景顏色發(fā)生變化,同時打開二級導(dǎo)航欄,效果如圖1所示。
頁面導(dǎo)航欄有一級導(dǎo)航欄和二級導(dǎo)航內(nèi)容,存在包含與被包含的關(guān)系。HTML中的<ul>和<li>標(biāo)簽分別用于創(chuàng)建無序列表和表示列表中的單個項目元素。本文案例采用這兩個標(biāo)簽相互搭配使用。<ul>標(biāo)簽用于創(chuàng)建項目符號或數(shù)字列表,可用來創(chuàng)建網(wǎng)站的整體框架;<ul>標(biāo)簽內(nèi)的每個項目都由<li>標(biāo)簽包裹,導(dǎo)航欄的各個列表項目放在<li>標(biāo)簽里[4]。
3 實現(xiàn)
3.1 所用軟件
在網(wǎng)頁設(shè)計過程中,為了迅速且高效地實現(xiàn)設(shè)計任務(wù),那些具有代碼明確顯示和語言規(guī)則指導(dǎo)等便利性的設(shè)計軟件已經(jīng)深受設(shè)計師們的喜愛。HBuilder 通過提供完整的語法提示、代碼輸入法和代碼塊等功能,大幅提升了Web前端技術(shù)的開發(fā)效率。另外,通過提供圖形化界面和拖拉組件,HBuilder簡化了移動端開發(fā)的復(fù)雜性,使得即使不具備深度編程知識的人也能夠進(jìn)行簡單的應(yīng)用開發(fā),是一款極具人性化的前端開發(fā)工具。本文涉及的代碼部分都在HBuilder環(huán)境中成功測試完成,整個Web項目實施無誤。
3.2 代碼部分
3.2.1 結(jié)構(gòu)分析
根據(jù)項目的功能,首先分析并繪制頁面結(jié)構(gòu)圖。
幾個<li>標(biāo)簽實現(xiàn)網(wǎng)頁的一級導(dǎo)航欄,如圖2所示。
3.2.4 分析討論
以上案例是對CSS關(guān)鍵技術(shù)代碼在網(wǎng)站頁面中的應(yīng)用,這些技術(shù)代碼主要采用HTML5、CSS3 以及CSS3的過渡屬性。
1) 首先清除頁面中默認(rèn)的內(nèi)外邊距、樣式,設(shè)置頁面的整體樣式,并為整個導(dǎo)航欄添加背景圖片。
2) 利用浮動屬性,設(shè)置一級導(dǎo)航的浮動方式為left,并設(shè)置行高及文字對齊方式等,通過外邊距調(diào)整導(dǎo)航的間距。
3) 設(shè)置一、二級導(dǎo)航鼠標(biāo)懸停時的樣式。
4) 為二級導(dǎo)航添加鼠標(biāo)指針懸停時的內(nèi)容垂直展開動畫。
4 總結(jié)
網(wǎng)頁導(dǎo)航欄展開特效提供了一種動態(tài)的、用戶友好的交互體驗,使得導(dǎo)航效果更加簡潔、直觀。本案例實現(xiàn)充分說明了CSS3過渡屬性實現(xiàn)動畫特效的簡潔性,可以提升用戶體驗、增強視覺吸引力,提高信息可訪問性。導(dǎo)航欄展開特效通過提供直觀、動態(tài)的交互方式,不僅增強了用戶界面的視覺吸引力,還提高了信息的可訪問性和用戶體驗,是一種有效的用戶界面設(shè)計策略。
不管是對單一屬性的運用,還是對復(fù)合屬性的應(yīng)用[1],CSS3都能夠?qū)崿F(xiàn),如“transition”過渡屬性實現(xiàn)圖片的局部放大特效,這在購物網(wǎng)站中經(jīng)??梢钥吹健@谩皌ransition”復(fù)合屬性可以一次完成簡單特效設(shè)置[5]。CSS3技術(shù)的優(yōu)勢有目共睹,在未來幾年內(nèi)CSS3 仍將保持其重要地位。