HTML5 制作響應(yīng)式網(wǎng)頁,首先需要考慮是全平臺(tái)適配還是只是移動(dòng)端適配。這里以移動(dòng)端響應(yīng)式網(wǎng)站為例,講述如何制作響應(yīng)式網(wǎng)頁。

創(chuàng)新互聯(lián)主營常德網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,常德h5小程序開發(fā)搭建,常德網(wǎng)站營銷推廣歡迎常德等地區(qū)企業(yè)咨詢
1、選定基本設(shè)計(jì)尺寸,一般以1080為基準(zhǔn)。確定響應(yīng)式web設(shè)計(jì)的應(yīng)用場景之后,和美工(或設(shè)計(jì)師)溝通,之前,一般需要美工出幾套主流移動(dòng)設(shè)備屏幕分辨率的設(shè)計(jì)圖,現(xiàn)在,使用流式布局以及rem等可以使用一套設(shè)計(jì)圖,以最常用的移動(dòng)設(shè)備屏幕分辨率為基準(zhǔn)。
2、當(dāng)美工完成設(shè)計(jì)圖之后,前端工程師的工作就開始了。這時(shí)你就可以使用PS或是FW進(jìn)行切圖了。一般說來,F(xiàn)ireworks cs6切圖更快,但是Fireworks有時(shí)會(huì)有圖片失真的情況發(fā)生,所以,有時(shí)需要使用PS進(jìn)行配合,PS有切片工具可以專門用來切圖。
具體代碼:
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
};
1.調(diào)整視口
代碼實(shí)例:
!DOCTYPE?html
head
meta?charset="UTF-8"?/
title布局之路-移動(dòng)端開發(fā)實(shí)例/title
meta?name="viewport"?content="width=device-width,user-scalable?=?no"?/
link?rel="stylesheet"?type="text/css"?href="css/reset.css"?/
/head
body
div?class="wrap"/div
/body
/html
代碼解析:由于使用不同設(shè)備打開網(wǎng)頁時(shí),寬度均有所不同,所以不能講視口設(shè)置為固定值,應(yīng)當(dāng)為width=device-width,即將視口設(shè)置為當(dāng)前設(shè)備的寬度。
2.確定設(shè)計(jì)圖的最小字體
瀏覽器(部分)能夠顯示的最小字體未12px,當(dāng)移動(dòng)端頁面寬度為320px時(shí),要保證最小字體為12px,那么在1080px的設(shè)計(jì)圖中,最小字體應(yīng)當(dāng)為42px。
代碼實(shí)例:
style?type="text/css"
html?{
font-size:?42px;
}
/style
3.浮動(dòng)布局
各個(gè)區(qū)塊都是浮動(dòng)的,不是固定不變的。為了能自適應(yīng)各個(gè)窗口。
代碼實(shí)例:
.main?{
float:?left;
width:?70%;
}
.box?{
float:?left;
width:?60.93%;
font-size:?1.71rem;
text-align:?center;
line-height:?4.64rem;
}
float浮動(dòng)的好處就是,如果寬度不夠放置下這個(gè)元素,元素會(huì)自動(dòng)滾動(dòng)到下方。
4.通過媒介查詢,為不同設(shè)備加載相應(yīng)樣式
有條件應(yīng)用樣式:
style
@media?all?and(min-width:500px){?...?}
@media?(orientation){?...?}
/style
代碼解析:
第一行媒體查詢代碼指的是:為寬度大于等于500px的設(shè)備設(shè)置樣式。
第二行媒體查詢代碼指的是:為縱屏狀態(tài)(可見區(qū)域大于或等于寬度)下的移動(dòng)端設(shè)備設(shè)置樣式。
有條件的加載樣式表:
head
link?rel="stylesheet"?href="wide.css"?media="screen?and(min-width:1024)"?/
link?rel="stylesheet"?href="mobile.css"?media="screen?and(max-width:320)"?/
/head
代碼解析:
第一行媒體查詢代碼指的是:為寬度大于等于1024px的設(shè)備,加載wide.css文件。
第二行媒體查詢代碼指的是:為寬度小于等于320px的設(shè)備,加載mobile.css文件。
5.使用百分比和rem替換px
除了布局和文本,"自適應(yīng)網(wǎng)頁設(shè)計(jì)"還必須實(shí)現(xiàn)圖片的自動(dòng)縮放。
代碼效果對(duì)比:
/*使用固定像素*/
.box?{
float:?left;
width:?658px;
font-size:?72px;
text-align:?center;
line-height:?195px;
}
/*使用百分比和rem*/
.box?{
float:?left;
width:?60.93%;
font-size:?1.71rem;
text-align:?center;
line-height:?4.64rem;
}
代碼解析:
水平方向的值,將具體像素調(diào)整為百分比。百分比的計(jì)算是根據(jù)父級(jí)的內(nèi)容區(qū)寬度進(jìn)行計(jì)算的。
例如,父級(jí)寬度為1080px, 子級(jí)元素為197px,那么子元素轉(zhuǎn)換為百分比為:197/1080*100%=18.24%。需要注意的是百分比根據(jù)父級(jí)計(jì)算,當(dāng)標(biāo)簽結(jié)構(gòu)級(jí)別不同時(shí),計(jì)算公式中的“分母”也有所不同,在開發(fā)時(shí)這個(gè)地方很容易出現(xiàn)問題,請(qǐng)務(wù)必注意。
垂直方向的值,將具體像素調(diào)整為rem,與水平方向相比,垂直方向的計(jì)算就比較簡單。例如,行高為195px,HTML標(biāo)簽當(dāng)前的字體大小為42px,將行高轉(zhuǎn)換為rem單位,即195/42= 4. 64rem。
html5移動(dòng)端開發(fā)和響應(yīng)式設(shè)計(jì)沒有必然聯(lián)系,不過在HTML5移動(dòng)開發(fā)中經(jīng)常會(huì)經(jīng)常使用響應(yīng)式設(shè)計(jì)。
1、響應(yīng)式設(shè)計(jì)不僅用在移動(dòng)網(wǎng)站,在PC端也有不同屏幕的適配,而且移動(dòng)端和PC端可以只使用一套代碼,這就是全平臺(tái)的響應(yīng)式設(shè)計(jì)。
2、HTML5移動(dòng)端(移動(dòng)網(wǎng)站、混合應(yīng)用、WebAPP)為了解決屏幕適配經(jīng)常會(huì)使用響應(yīng)式設(shè)計(jì)(流式布局、CSS3媒體查詢),但是響應(yīng)式設(shè)計(jì)并不是必須,也可以使用流式布局和remnant來解決移動(dòng)端的屏幕適配問題。
(function (doc, win) {
var docEl = doc.documentElement,
resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
recalc = function () {
var clientWidth = docEl.clientWidth;
if (!clientWidth) return;
docEl.style.fontSize = 20 * (clientWidth / 320) + 'px';
};
if (!doc.addEventListener) return;
win.addEventListener(resizeEvt, recalc, false);
doc.addEventListener('DOMContentLoaded', recalc, false);
})(document, window);
3、HTML5移動(dòng)端開發(fā)最初的時(shí)候使用固定布局,兩邊留白,那時(shí)也沒有用到響應(yīng)式設(shè)計(jì),不過,那種用戶體驗(yàn)不好。
響應(yīng)式網(wǎng)站設(shè)計(jì)(Responsive Web design)的理念是:集中創(chuàng)建頁面的圖片排版大小,可以智能地根據(jù)用戶行為以及使用的設(shè)備環(huán)境(系統(tǒng)平臺(tái)、屏幕尺寸、屏幕定向等)進(jìn)行相對(duì)應(yīng)的布局。如果你需要做一個(gè)響應(yīng)式網(wǎng)站可以去大腕互聯(lián)看看,他們的響站是五網(wǎng)合一網(wǎng)站建設(shè)的,方便管理,快捷創(chuàng)建。
名稱欄目:html5響應(yīng)式設(shè)計(jì)的簡單介紹
轉(zhuǎn)載來源:http://chinadenli.net/article22/dsesojc.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供外貿(mào)網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站建設(shè)、搜索引擎優(yōu)化、、關(guān)鍵詞優(yōu)化、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)