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