移動端H5頁面制作規(guī)范(2)

計量單位的使用

css的計量單位有三種選擇:

px: 固定的相素值

em: 相對父級元素的font-size設(shè)置來作為當前元素1em所代表的像素值,如父節(jié)點的font-size:10px近刘,當前節(jié)點的font-size:1.2em,則當前節(jié)點的font-size實為12px;

rem:相對根節(jié)點html的font-size設(shè)置來作為當前元素1rem所代表的像素值擒贸,與em的區(qū)別就是rem的基本度量單位與父節(jié)點無關(guān),只與根節(jié)點font-size的設(shè)置有關(guān)觉渴,如設(shè)置html{font-size:10px;}后當前dom所有節(jié)點的1rem都表示10px;

移動端開發(fā)中我們使用rem作為基本計量單位介劫,同時將根節(jié)點默認字號大小設(shè)為font-size:62.5%,因移動端瀏覽器默認字號大小為16px;16*62.5%剛好為10px; 具體設(shè)置方法及使用示例

html{font-size:62.5%;/*剛好為10px;*/}#example{font-size:1.2rem}/*設(shè)置#example的字體大小為12px;*/#example?div{font-size:1.4rem;?width:10rem;height:10rem}/*設(shè)置#example子節(jié)點div的字體大小為14px;寬度為100px;高度100px*/

安卓下<textarea>標簽的內(nèi)容字體大小不支持rem設(shè)置,如有需要使用響應(yīng)式及px單位設(shè)置其字體大小疆拘,暫時還未找到具體原因

不同分辨率的終端

在對主流手機終端進行統(tǒng)計得出蜕猫,大部分手機的device-width為320px、360px哎迄、375px回右、384px、400px漱挚、414px翔烁,另外安卓pad的device-width為600px\800px。 手機屏幕分辨率寬度則在320px-1080px間旨涝,有少部分手機已經(jīng)達到1152px和1440px蹬屹。PS:ipad訪問移動端建議跳轉(zhuǎn)去對應(yīng)的PC頁面。

viewport設(shè)置

在移動端開發(fā)中,我們使用如下viewport設(shè)置

<!--viewport的設(shè)置--><meta?name="viewport"?content="width=device-width,?initial-scale=1.0,?maximum-scale=1.0,?user-scalable=0">

注:device-width實際上并不等于設(shè)備寬度慨默,而是css寬度贩耐,它是根據(jù)設(shè)備屏幕寬度和屏幕像素密度換算得出的用于網(wǎng)頁顯示的css寬度

移動端設(shè)計稿750px*1134px的制作規(guī)范

css部分

/*reset.less*//*?CSS?Document?*/html{-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;??font-size:62.5%;}ul,li,div,p,body,h1,h2,h3,h4,h5,h6,dl,dt,dd{margin:0;padding:0;}li{list-style:none;}a{text-decoration:none;?color:?#2a2a2a;?}input{?-webkit-appearance:none;outline:none}

*{outline:?none;?webkit-focus-ring-color:?rgba(0,?0,?0,?0);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;}.hide{display:none;}body,?html?{width:?100%;?font-family:?"Microsoft?YaHei","Helvetica?Neue",Arial,?HelveticaNeue,?Helvetica,?"BBAlpha?Sans",?sans-serif;font-weight:?normal;display:?-webkit-box;-webkit-box-orient:?vertical;?-webkit-box-align:?center;}/*?*{-webkit-backface-visibility:?hidden;-moz-backface-visibility:?hidden;-ms-backface-visibility:?hidden;backface-visibility:?hidden;}?用于解決某些情況下出現(xiàn)閃屏的問題,若無則不加*/body{opacity:?1;-webkit-transition:opacity?500ms?ease-in;transition:opacity?500ms?ease-in;?}p,a,li{font-size:1.2rem;?color:#434343}html{?font-size:?312.5%;?}?

@media?screen?and?(max-width:359px)?and?(orientation:portrait)?{????html?{?font-size:?266.67%;?}?

}

@media?screen?and?(min-width:360px)?and?(max-width:374px)?and?(orientation:portrait)?{????html?{?font-size:?300%;?}?

}

@media?screen?and?(min-width:384px)?and?(max-width:399px)?and?(orientation:portrait)?{????html?{?font-size:?320%;?}?

}

@media?screen?and?(min-width:400px)?and?(max-width:413px)?and?(orientation:portrait)?{????html?{?font-size:?333.33%;?}?

}

@media?screen?and?(min-width:414px)?and?(max-width:431px)?and?(orientation:portrait){????html?{?font-size:?345%;?}

}

@media?screen?and?(min-width:432px)?and?(max-width:479px)?and?(orientation:portrait){????html?{?font-size:360%;?}

}

@media?screen?and?(min-width:480px)and?(max-width:639px)?and?(orientation:portrait){???html{?font-size:400%;}

}?

@media?screen?and?(min-width:640px)?and?(orientation:portrait){???html{?font-size:533.33%;}

}

例如750px設(shè)計稿上320px*200px字體大小為32px的區(qū)域樣式為:

html{?font-size:?312.5%;?}?

.div{????width:3.2rem;????height:2rem;????font-size:0.32rem????}

js部分

主要處理短屏下縮放厦取,以及初始化時固定頁面大小潮太,防止豎屏下彈出鍵盤或橫屏時頁面發(fā)生縮放的情況

?var?initScreen=function(callback){//初始化html??font-size

????????$("html").css("font-size",document.documentElement.clientHeight/document.documentElement.clientWidth<1.5???(document.documentElement.clientHeight/603*312.5+"%")?:?(document.documentElement.clientWidth/375*312.5+"%"));?//單屏全屏布局時使用,短屏下自動縮放

????????//$("html").css("font-size",document.documentElement.clientWidth/375*312.5+"%");//長頁面時使用,不縮放

????????if(callback)callback();

????}function?_onorientationchange(e){????if(window.orientation==90||window.orientation==-90){

????????$("#forhorview").css("display",?"-webkit-box");??//顯示豎屏瀏覽提示框

????}else{//豎屏下恢復默認顯示效果

????????var?st=setTimeout(initScreen,300);

?????????$("#forhorview").css("display",?"none");????

????}

????_resize(e);

}

$(function(){

????initScreen();????window.addEventListener("onorientationchange"?in?window???"orientationchange"?:?"resize",?????function(e){_onorientationchange(e);},?false);

})

html示例

<!doctype?html><html>

????<head>

????????<title>標題</title>

????????<meta?name="keywords"?content="關(guān)鍵字"?/>

????????<meta?name="description"?content="描述"?/>

????????<meta?name="format-detection"?content="telephone=no"?/>

????????<meta?name="format-detection"?content="address=no"?/>

????????<!--for?baidu?識別移動端頁面并禁止百度轉(zhuǎn)碼-->

????????<meta?name="applicable-device"content="mobile">?

????????<meta?http-equiv="Cache-Control"?content="no-transform"?/>

????????<meta?http-equiv="Cache-Control"?content="no-siteapp"?/>

????????<!--viewport?設(shè)置,如果頁面實際情況不允許縮放請加上,user-scalable=no-->

????????<meta?name="viewport"?content="width=device-width,?initial-scale=1.0,?maximum-scale=1.0,?user-scalable=0">

????????<meta?name="apple-mobile-web-app-capable"?content="yes"?/>

????????<link?rel="stylesheet"?type="text/css"?href="css/index.less"?/>

????</head>

????<body>


????????<div?id="forhorview">

????????????<p>推薦使用豎屏瀏覽哦~</p>

????????</div>

????????<script?src="js/zepto.min.js"></script>

????</body></html>

移動端開發(fā)細節(jié)和優(yōu)化

在移動端使用新的css3樣式代替原來在PC上的開發(fā)習慣

新的布局實現(xiàn)方式:使用display:box虾攻、box-flex代替float\display:inline-block; 實現(xiàn)更強大铡买、更完美的流體布局,尤其在寬度為100%的布局中霎箍,實現(xiàn)橫向并排元素寬度的自動伸縮以及水平垂直居中平均分布奇钞、首尾分布排列等。

垂直居中的實現(xiàn)方式:使用display:-webkit-box;-webkit-box-align: center;實現(xiàn)垂直居中漂坏。

盡量使用border-radius景埃,box-shadow,text-shadow等css3樣式實現(xiàn)諸如圓角、漸變色樊拓、盒子投影纠亚、字體投影,減少使用圖片。

對于單色的icon圖標筋夏,我們將會整理出一套常用圖標,并制作成字體图呢,利用css3的@font-face使用自定義字體導入条篷,這樣的話,可以像修改字體一樣隨意地修改圖標的顏色蛤织、大小赴叹、背景色、特殊效果(如投影)等指蚜,而不再需要每一種顏色就需要切一份圖片乞巧。

利用-webkit-transform:rotate(90deg)來獲取旋轉(zhuǎn)了不同角度的icon,避免每個角度需要切一張圖片

在動畫中摊鸡,利用css3動畫屬性如-webkit-transform:translate(10px,12px)來改變元素的偏移位置绽媒,減少使用left和top來做位移動畫

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市免猾,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌猎提,老刑警劉巖获三,帶你破解...
    沈念sama閱讀 219,490評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡疙教,警方通過查閱死者的電腦和手機棺聊,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來贞谓,“玉大人限佩,你說我怎么就攤上這事【辏” “怎么了犀暑?”我有些...
    開封第一講書人閱讀 165,830評論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長烁兰。 經(jīng)常有香客問我耐亏,道長,這世上最難降的妖魔是什么沪斟? 我笑而不...
    開封第一講書人閱讀 58,957評論 1 295
  • 正文 為了忘掉前任广辰,我火速辦了婚禮,結(jié)果婚禮上主之,老公的妹妹穿的比我還像新娘择吊。我一直安慰自己,他們只是感情好槽奕,可當我...
    茶點故事閱讀 67,974評論 6 393
  • 文/花漫 我一把揭開白布几睛。 她就那樣靜靜地躺著,像睡著了一般粤攒。 火紅的嫁衣襯著肌膚如雪所森。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評論 1 307
  • 那天夯接,我揣著相機與錄音焕济,去河邊找鬼。 笑死盔几,一個胖子當著我的面吹牛晴弃,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播逊拍,決...
    沈念sama閱讀 40,464評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼上鞠,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了顺献?” 一聲冷哼從身側(cè)響起旗国,我...
    開封第一講書人閱讀 39,357評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎注整,沒想到半個月后能曾,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體度硝,經(jīng)...
    沈念sama閱讀 45,847評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,995評論 3 338
  • 正文 我和宋清朗相戀三年寿冕,在試婚紗的時候發(fā)現(xiàn)自己被綠了蕊程。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,137評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡驼唱,死狀恐怖藻茂,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情玫恳,我是刑警寧澤辨赐,帶...
    沈念sama閱讀 35,819評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站京办,受9級特大地震影響掀序,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜惭婿,卻給世界環(huán)境...
    茶點故事閱讀 41,482評論 3 331
  • 文/蒙蒙 一不恭、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧财饥,春花似錦换吧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至谦炒,卻和暖如春暴拄,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背编饺。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留响驴,地道東北人透且。 一個月前我還...
    沈念sama閱讀 48,409評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像豁鲤,于是被迫代替她去往敵國和親秽誊。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,086評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 1琳骡、垂直對齊 如果你用CSS锅论,則你會有困惑:我該怎么垂直對齊容器中的元素?現(xiàn)在楣号,利用CSS3的Transform最易,...
    kiddings閱讀 3,166評論 0 11
  • 一怒坯、使用真實手機測試未發(fā)布網(wǎng)頁的方法 方法① 在虛擬機中搭建xampp,將文件通過FTP傳到虛擬機藻懒,在一個局域網(wǎng)中...
    fastwe閱讀 726評論 0 0
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,477評論 0 6
  • H5移動端知識點總結(jié) 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,510評論 0 26
  • 楊麗姿是位盲人朋友剔猿,由于小時候發(fā)燒發(fā)得比較嚴重把視力給燒壞了,后來她的眼睛失去了光明嬉荆。從此她成為了一位盲人归敬。她出生...
    胡西楊愛寫作閱讀 552評論 0 3