摘? 要:隨著移動智能設(shè)備的發(fā)展,出現(xiàn)了各種屏幕尺寸的移動設(shè)備,如何在不同分辨率設(shè)備上將同一網(wǎng)頁內(nèi)容完美地顯示出來,而不會出現(xiàn)顯示樣式錯亂,響應(yīng)式網(wǎng)頁設(shè)計解決了這一難題。響應(yīng)式網(wǎng)站可以在不同終端顯示出合理的頁面,實現(xiàn)一次開發(fā),多處適用。文章以“環(huán)保網(wǎng)站”為例,從響應(yīng)式網(wǎng)頁設(shè)計的相關(guān)概念介紹、頁面結(jié)構(gòu)設(shè)計、響應(yīng)式效果實現(xiàn)等幾方面入手,采用HTML5技術(shù),結(jié)合百分比布局、媒體查詢、視口等實現(xiàn)了跨終端的網(wǎng)頁開發(fā)。
關(guān)鍵詞:響應(yīng)式布局;HTML5;環(huán)保網(wǎng)站
中圖分類號:TP393? 文獻標識碼:A? 文章編號:2096-4706(2023)13-0088-04
Design and Implementation of a Responsive Environmental Protection Website Based on HTML5
ZHANG Rihua
(Shandong Huayu University of Technology, Dezhou? 253034, China)
Abstract: With the development of mobile intelligent devices, mobile devices with various screen sizes have emerged. Responsive webpage design has solved the problem that display the same webpage content perfectly on devices with different resolutions without display style confusion. A responsive website can display reasonable pages on different terminals, achieving one-time development and multiple applicability. Taking“environmental protection website”as an example, this paper starts with the introduction of relevant concepts of responsive webpage design, the design of page structure, and the realization of responsive effect. It uses HTML5 technology, combined with percentage layout, media query, viewport, etc., to realize cross terminal webpage development.
Keywords: responsive layout; HTML5; environmental protection website
0? 引? 言
隨著網(wǎng)絡(luò)的發(fā)展和普及,以及各種建站技術(shù)的更新與運用,響應(yīng)式網(wǎng)站已經(jīng)被廣泛應(yīng)用。其現(xiàn)代化的流式布局,可自動適應(yīng)屏幕大小,實現(xiàn)多終端覆蓋;同時,高端的設(shè)計、豐富的特效讓頁面更精美。本文以“環(huán)保網(wǎng)站”為例,通過百分比布局、媒體查詢和視口屬性設(shè)置等綜合應(yīng)用[1],實現(xiàn)一個非常有意義的環(huán)保網(wǎng)站。
1? 響應(yīng)式網(wǎng)頁設(shè)計的相關(guān)概念
1.1? 網(wǎng)頁視口
視口(viewport)是用戶在網(wǎng)頁上的可見區(qū)域。視口隨設(shè)備而異,在移動電話上會比在計算機屏幕上更小。通過設(shè)置視口,不管網(wǎng)頁原來的分辨率有多大,手機都能將其縮小顯示在手機瀏覽器上。在移動端瀏覽器中,存在三種視口,分別是布局視口、視覺視口和理想視口:
1)布局視口(也叫視窗視口):指瀏覽器繪制網(wǎng)頁的視口,一般移動端瀏覽器都默認設(shè)置了布局視口的寬度。
2)視覺視口(也叫可見視口):指用戶正在看到的網(wǎng)站的區(qū)域,這個區(qū)域的寬度等同于移動設(shè)備的瀏覽器窗口的寬度。
3)理想視口:對設(shè)備來講最理想的視口尺寸。使用理想視口的方式:可以使網(wǎng)頁在移動端瀏覽器上獲得最理想的瀏覽和閱讀的寬度。
1.2? 媒體查詢
HTML4和CSS2可以支持不同的媒體類型(screen屏幕和print打?。┰O(shè)置特定的CSS樣式[2],在CSS3規(guī)范中,媒體查詢用來根據(jù)窗口寬度、屏幕比例和設(shè)備方向等差異來改變頁面的顯示方式。使用媒體查詢能夠在不改變頁面內(nèi)容的情況下,為特定的輸出設(shè)備指定顯示效果。
媒體查詢有媒體類型和條件表達式組成,代碼如下:
@media screen and (max-width: 屏幕寬度) {
/* 樣式設(shè)置 */
}
1.3? 百分比布局
在制作響應(yīng)式網(wǎng)站時,僅使用媒體查詢還不夠,媒體查詢只針對某種特定的視口,在捕捉到下一個視口前,頁面的布局并不會變化。真正的靈活布局可以使用百分比布局結(jié)合媒體查詢限制范圍來實現(xiàn)。百分比布局是一種等比例縮放布局方式,在CSS代碼中使用百分比來設(shè)置寬度,百分數(shù)寬度的計算方式為:用目標元素寬度除以父盒子的寬度。
1)子元素的寬高百分比是直接父元素的寬高。
2)定位中的top、bottom、left、right等都是相對于直接非靜態(tài)定位的父元素的寬高。
3)padding如果設(shè)置百分比,無論是垂直方向還是水平方向,都是相對于直接父級元素的寬度,與父元素的高度無關(guān)。
4)margin與padding一樣,設(shè)置完百分比之后,都是直接父元素的寬度的百分比,與高度無關(guān)。
5)border-radius不同,如果設(shè)置百分比,則是相對于自身的寬度,除此之外translate、background-size都是相對于自身的寬度高度。
1.4? 響應(yīng)式布局實現(xiàn)方式
1.4.1? 媒體查詢實現(xiàn)響應(yīng)式布局
媒體查詢實現(xiàn)響應(yīng)式布局:當瀏覽器屏幕寬度小于576 px時,將某些模塊按照不同的方式排列或者隱藏。在特定的屏幕尺寸下編寫限定條件的CSS代碼,如果滿足這些限定條件,則應(yīng)用相應(yīng)的樣式。
1.4.2? 彈性盒布局
彈性布局是一種十分方便的、只需要依賴于CSS樣式的實現(xiàn)響應(yīng)式布局的方式,彈性盒由容器、子元素和軸(包括橫軸、縱軸)構(gòu)成,默認情況下,子元素的排布方向與橫軸的方向是一致的。彈性布局flex是CSS中display的一個屬性值,通過在父容器上添加display:flex;屬性,便可以實現(xiàn)其子元素在父元素中的彈性布局。但要注意的是,display:flex;這一條樣式只會作用在添加這一屬性的父容器和非隔代子容器上,并不會使其直系子元素中的子元素產(chǎn)生彈性布局。如果想要在下一層中繼續(xù)使用彈性布局,我們可以在相應(yīng)的子元素上再次添加display:flex;屬性來實現(xiàn)。
2? 環(huán)保網(wǎng)站頁面結(jié)構(gòu)分析
響應(yīng)式頁面由header、banner、mission及footer四大部分構(gòu)成,如圖1所示。
1)響應(yīng)式頁面各部分的寬度用百分比表示。
2)header里面包括導(dǎo)航菜單和Logo左右兩部分,其中Logo部分使用絕對定位;在
3)當屏幕縮小到575 px時,出現(xiàn)漢堡菜單按鈕。
4)banner部分是給div.banner設(shè)置背景圖,當瀏覽器窗口縮小時,需要對div.banner設(shè)置媒體查詢。
5)在PC端,div.mission-left和div.mission-right兩部分為橫向排列,在移動端需要使用媒體查詢將其縱向排列。
3? 環(huán)保網(wǎng)站響應(yīng)式頁面實現(xiàn)
3.1? 主頁功能分析及界面設(shè)計
環(huán)保網(wǎng)站的內(nèi)在要求是代碼設(shè)計靈活,界面能夠根據(jù)不同的設(shè)備顯示不同的大小,能自適應(yīng)手機等移動設(shè)備,并且美觀、簡潔大方,網(wǎng)站以環(huán)保為主題。
響應(yīng)式網(wǎng)頁的核心思想在于“一次設(shè)計,普遍使用”,讓同一個地址的同一個網(wǎng)頁自動地去適應(yīng)不同的顯示環(huán)境,并且能夠根據(jù)屏幕的設(shè)置和布局需要,來自動調(diào)整網(wǎng)頁內(nèi)容的顯示。對于響應(yīng)式網(wǎng)站,不管使用什么設(shè)備,打開及顯示的都是同一個地址、同一個網(wǎng)頁,只是這個網(wǎng)頁可以通過自動地識別屏幕寬度,對不同的使用環(huán)境做相應(yīng)的自動調(diào)整。移動端稍微偏小的屏幕尺寸會使得空間比較受限,這就要求設(shè)計時要考慮把最重要的內(nèi)容優(yōu)先加載和顯示,這樣,即使后邊遷移到PC端顯示,也可以保證整體的結(jié)構(gòu)不受破壞。移動網(wǎng)頁的設(shè)計以內(nèi)容性的為主,移動優(yōu)先原則下提高用戶體驗的一大法寶是,把最重要的東西放在最顯眼的地方[3],這種設(shè)計弱化了非移動端用戶的視覺體驗。由于環(huán)保網(wǎng)站的主頁訪問用戶還是以非移動設(shè)備為主,因此,我們在進行網(wǎng)站主頁界面設(shè)計時,采用了以電腦優(yōu)先、兼顧移動設(shè)備的理念[4]。
根據(jù)網(wǎng)站結(jié)構(gòu)分析,將PC端頁面結(jié)構(gòu)分為:頭部、Banner、內(nèi)容、頁腳4個主要部分。其中頭部域包括Logo,主菜單;內(nèi)容區(qū)域包括:治理污染、垃圾分類、節(jié)能低碳等;頁腳區(qū)域包括版權(quán)、作者等文字信息,如圖2所示。
由于移動設(shè)備屏幕尺寸的不同,在PC端設(shè)計的基礎(chǔ)上,結(jié)合用戶的實際使用體驗,對PC端設(shè)計進行如下修改:
1)導(dǎo)航菜單默認隱藏,單擊漢堡菜單按鈕,導(dǎo)航菜單顯示出來。
2)界面的布局PC端兩列,改為移動端一列。
最終移動端設(shè)計效果如圖3所示。
3.2? 環(huán)保網(wǎng)站主頁響應(yīng)式設(shè)計的實現(xiàn)
3.2.1? 實現(xiàn)智能兼容多設(shè)備
為了適應(yīng)多種屏幕尺寸,頁面效果會隨著屏幕的尺寸實時調(diào)整,瀏覽器會經(jīng)過viewport的默認縮放將網(wǎng)頁等比例縮放,但是,為了讓用戶看清楚網(wǎng)頁內(nèi)容,一般情況下,并不使用默認的viewport,而是自定義視口的屬性,采用媒體查詢實現(xiàn)不同屏幕下的效果,標簽可以配置視口屬性,主要代碼如下:
上述代碼中,width用于設(shè)置視窗視口的寬度,device-width表示視窗視口和可見視口寬度相同,initial-scale用于設(shè)置初始縮放比例,maximum-scale用于設(shè)置最大縮放比例。在移動Web開發(fā)中,常見的響應(yīng)式布局容器尺寸如表1所示。
在CSS文件中,編寫媒體查詢代碼實現(xiàn)不同屏幕下的效果,主要代碼如下:
@media (max-width: 尺寸區(qū)間) {? //尺寸區(qū)間根據(jù)不同設(shè)備寫不同數(shù)值
CSS代碼
}
3.2.2? 實現(xiàn)響應(yīng)式導(dǎo)航
響應(yīng)式導(dǎo)航在大屏幕上顯示為水平導(dǎo)航,在較小的視口中會隱藏起來,顯示為下拉導(dǎo)航,當單擊時展開顯示,采用
編寫樣式代碼實現(xiàn)漢堡菜單按鈕,關(guān)鍵代碼如下:
/* 復(fù)選框用于切換菜單的開合狀態(tài) */
nav input[type="checkbox"],
.menu {
position: absolute;
/* 相對于父元素絕對定位 */
left: 2%;
top: 10px;
display: none;
/* 隱藏不顯示 */
}
CSS關(guān)鍵代碼:
@media (max-width: 屏幕尺寸) { //尺寸區(qū)間根據(jù)不同設(shè)備寫不同數(shù)值
/* 漢堡菜單按鈕 */
.menu {
display: block;
cursor: pointer;
}
nav>ul {
display: none;
}
nav input[type="checkbox"]:checked~ul {
display: block;
}
3.2.3? 頁面布局
通過分析網(wǎng)頁需求,本網(wǎng)站需要自動適應(yīng)各種屏幕尺寸,所以采用百分比布局。若采用固定布局,改變?yōu)g覽器窗口的大小,頁面元素的大小是不會改變的;而采用百分比布局,網(wǎng)頁隨瀏覽器窗口的改變等比例縮小/放大,從而適應(yīng)不同屏幕尺寸的要求[3]。主要代碼如下:
.header {
width: 100%;
......}
.banner {
width: 100%;
......}
.mis-left {
width: 15%;
......
.mis-right {
width: 82%;
......}
與百分比布局算法相似的還有em單位,本網(wǎng)頁中部分字體的大小用em代替px設(shè)置字體大小,這樣有兩點好處:一是能夠縮放文字;二是em的實際大小是相對于父元素的字體大小而言的,如果在父元素中設(shè)置字體為100%,子元素中的字體都會隨著父元素字體的變化而變化[4]。主要代碼如下:
font-size: 數(shù)值em;
在CSS文件中,編寫媒體查詢代碼實現(xiàn)中間區(qū)域在不同屏幕下的效果,主要代碼如下:
@media (max-width: 575px) {
......
.mission-left,
.mission-right {
padding: 0;
float: left;
width: 100%;
}
......
}
3.3? 測試效果
本設(shè)計在360瀏覽器下進行測試,在不同視口下響應(yīng)式布局均能正常響應(yīng),網(wǎng)頁顯示效果良好。移動端在iphone6/7/8、ipad pro等屏幕尺寸下均能正常顯示,漢堡菜單折疊效果正常,banner圖不同分辨率下顯示正常,功能布局合理,用戶體驗良好[5,6]。圖4是PC終端的顯示效果。
4? 結(jié)? 論
隨著移動通信技術(shù)的快速發(fā)展,響應(yīng)式網(wǎng)站已經(jīng)成為網(wǎng)站開發(fā)的主流,本文以環(huán)保網(wǎng)站為例,從響應(yīng)式網(wǎng)頁設(shè)計的相關(guān)概念介紹、頁面結(jié)構(gòu)分析以及響應(yīng)式效果實現(xiàn)等幾方面入手,詳細闡述了基于HTML5的響應(yīng)式網(wǎng)站的設(shè)計與實現(xiàn),實現(xiàn)了界面的扁平化,得到了不錯的視覺效果,符合當前用戶的需求,用戶體驗良好。
參考文獻:
[1] 黑馬程序員.響應(yīng)式Web開發(fā)項目教程(HTML5+
CSS3+Bootstrap):第2版 [M].北京:人民郵電出版社,2021.
[2] 鄭婷婷,黃杰晟.響應(yīng)式網(wǎng)頁開發(fā)基礎(chǔ)教程(jQuery+
Bootstrap) [M].北京:人民郵電出版社,2019.
[3] 直敏,高天哲,孫楊.響應(yīng)式布局在網(wǎng)頁設(shè)計中的應(yīng)用 [J].無線互聯(lián)科技,2022,19(15):150-152.
[4] 張穎.響應(yīng)式網(wǎng)頁的設(shè)計和實現(xiàn) [J].信息記錄材料,2022,23(6):98-101.
[5] 王少華.基于Bootstrap的響應(yīng)式網(wǎng)頁設(shè)計與實現(xiàn)——以i-太極網(wǎng)站主頁為例 [J].寧波廣播電視大學(xué)學(xué)報,2016,14(3):119-122.
[6] 江家龍.基于Bootstrap的響應(yīng)式餐飲網(wǎng)站設(shè)計與實現(xiàn) [J].現(xiàn)代信息科技,2021,5(7):74-78.
作者簡介:張日花(1980.05—),女,漢族,山東德州人,高級工程師,本科,研究方向:計算機應(yīng)用。
收稿日期:2023-02-01
基金項目:山東華宇工學(xué)院2022年度校級教育教學(xué)改革項目:基于BOPPPS教學(xué)理念的網(wǎng)絡(luò)工程師(中級)實訓(xùn)課程教學(xué)改革研究(2022JG01)