移動(dòng)端適配方案

方案一:

最新方案:(隆重推薦)


1呐舔、下載MateHandler.js矫俺,并引入頁面

2、head里加入<meta content="target-densitydpi=device-dpi,width=640" name="viewport">

3掸冤、設(shè)置body的寬度厘托,psd有多寬就設(shè)多少,同時(shí)調(diào)用opt.fixViewportWidth(640)稿湿,比如psd是 ? ? 640px


總結(jié):利用js庫使得px單位自動(dòng)適配各種屏幕铅匹,設(shè)計(jì)師做設(shè)計(jì)稿時(shí)字體時(shí)最小為20px最為合適,
參考博客:他人博客

方案二:

【1饺藤、準(zhǔn)備工作:sass環(huán)境下載與安裝】

地址:http://rubyinstaller.org/downloads/(根據(jù)電腦配置而定)

【2包斑、sass和compass的安裝】

第一步:gem sources --remove https://rubygems.org/

第二步:gem sources -a https://ruby.taobao.org/

第三步:gem install sass

第四步:gem install compass

【3流礁、引入關(guān)鍵文件flexble.js】

(function(win, lib) {

var doc = win.document;

var docEl = doc.documentElement;

var metaEl = doc.querySelector('meta[name="viewport"]');

var flexibleEl = doc.querySelector('meta[name="flexible"]');

var dpr = 0;

var scale = 0;

var tid;

var flexible = lib.flexible || (lib.flexible = {});

if (metaEl) {

console.warn('將根據(jù)已有的meta標(biāo)簽來設(shè)置縮放比例');

var match = metaEl.getAttribute('content').match(/initial\-scale=([\d\.]+)/);

if (match) {

scale = parseFloat(match[1]);

dpr = parseInt(1 / scale);

}

} else if (flexibleEl) {

var content = flexibleEl.getAttribute('content');

if (content) {

var initialDpr = content.match(/initial\-dpr=([\d\.]+)/);

var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/);

if (initialDpr) {

dpr = parseFloat(initialDpr[1]);

scale = parseFloat((1 / dpr).toFixed(2));

}

if (maximumDpr) {

dpr = parseFloat(maximumDpr[1]);

scale = parseFloat((1 / dpr).toFixed(2));

}

}

} if (!dpr && !scale) {

var isAndroid = win.navigator.appVersion.match(/android/gi);

var isIPhone = win.navigator.appVersion.match(/iphone/gi);

var devicePixelRatio = win.devicePixelRatio;

if (isIPhone) {

// iOS下,對于2和3的屏罗丰,用2倍的方案神帅,其余的用1倍方案

if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) {

dpr = 3;

} else if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)){

dpr = 2;

} else {

dpr = 1;

}

} else {

// 其他設(shè)備下,仍舊使用1倍的方案

dpr = 1;

}

scale = 1 / dpr;

}

docEl.setAttribute('data-dpr', dpr);

if (!metaEl) {

metaEl = doc.createElement('meta');

metaEl.setAttribute('name', 'viewport');

metaEl.setAttribute('content', 'initial-scale=' + scale + ', maximum-scale=' + scale + ', minimum-scale=' + scale + ', user-scalable=no');

if (docEl.firstElementChild) {

docEl.firstElementChild.appendChild(metaEl);

} else {

var wrap = doc.createElement('div');

wrap.appendChild(metaEl);

doc.write(wrap.innerHTML);

}

}

function refreshRem(){

var width = docEl.getBoundingClientRect().width;

if (width / dpr > 640) {

width = 640 * dpr;

}

var rem = width / 10;

docEl.style.fontSize = rem + 'px';

flexible.rem = win.rem = rem;

}

win.addEventListener('resize', function() {

clearTimeout(tid);

tid = setTimeout(refreshRem, 300);

}, false);

win.addEventListener('pageshow', function(e) {

if (e.persisted) {

clearTimeout(tid);

tid = setTimeout(refreshRem, 300);

}

}, false);

if (doc.readyState === 'complete') {

doc.body.style.fontSize = 12 * dpr + 'px';

} else {

doc.addEventListener('DOMContentLoaded', function(e) {

doc.body.style.fontSize = 12 * dpr + 'px';

}, false);

}

refreshRem();

flexible.dpr = win.dpr = dpr;

flexible.refreshRem = refreshRem;

flexible.rem2px = function(d) {

var val = parseFloat(d) * this.rem;

if (typeof d === 'string' && d.match(/rem$/)) {

val += 'px';

}

return val;

}

flexible.px2rem = function(d) {

var val = parseFloat(d) / this.rem;

if (typeof d === 'string' && d.match(/px$/)) {

val += 'rem';

}

return val;

}

})(window, window['lib'] || (window['lib'] = {}));

【4萌抵、常用命令】

安裝好sass后找御,在項(xiàng)目所在的文件夾位置,按住shift+右鍵-->在此處打開命令窗口绍填,然后

1霎桅、compass create 項(xiàng)目名稱 ?(創(chuàng)建項(xiàng)目目錄)

2、compass watch ?(sass編譯css文件)

【5讨永、在公用sass文件定義rem和px單位轉(zhuǎn)換的語句】

$fontsize:64 !default;

@function rem($px) {

@return $px / $fontsize * 1rem;

}

【6滔驶、修改配置文件】

1/修改sass、css卿闹、js揭糕、images文件夾名

2/去除編譯后的css文件多余的注釋(直接去掉前面的#)


【7、flexble.js文件放置】

一定要放在頭部標(biāo)簽的title后面比原,保證第一時(shí)間渲染各種移動(dòng)設(shè)備

【8插佛、開始開展工作】

如以前的 width=100px; border-radius:10px;改寫為:

width:rem(10); border-radius:rem(10)

【9量窘、sass語法的學(xué)習(xí)】

sass中文文檔:http://sass.bootcss.com/docs/sass-reference/

sass在線編譯測試:http://www.sassmeister.com/

w3cplus:http://www.w3cplus.com/sassguide/syntax.html

? ? ? ? ? ? ? ? http://www.w3cplus.com/sasscore/setting.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末雇寇,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子蚌铜,更是在濱河造成了極大的恐慌锨侯,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件冬殃,死亡現(xiàn)場離奇詭異囚痴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)审葬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進(jìn)店門深滚,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人涣觉,你說我怎么就攤上這事痴荐。” “怎么了官册?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵生兆,是天一觀的道長。 經(jīng)常有香客問我膝宁,道長鸦难,這世上最難降的妖魔是什么根吁? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮合蔽,結(jié)果婚禮上击敌,老公的妹妹穿的比我還像新娘。我一直安慰自己辈末,他們只是感情好愚争,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著挤聘,像睡著了一般轰枝。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上组去,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天鞍陨,我揣著相機(jī)與錄音,去河邊找鬼从隆。 笑死诚撵,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的键闺。 我是一名探鬼主播寿烟,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼辛燥!你這毒婦竟也來了筛武?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤挎塌,失蹤者是張志新(化名)和其女友劉穎徘六,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榴都,經(jīng)...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡待锈,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了嘴高。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片竿音。...
    茶點(diǎn)故事閱讀 40,090評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖拴驮,靈堂內(nèi)的尸體忽然破棺而出谍失,到底是詐尸還是另有隱情,我是刑警寧澤莹汤,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站颠印,受9級特大地震影響纲岭,放射性物質(zhì)發(fā)生泄漏抹竹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一止潮、第九天 我趴在偏房一處隱蔽的房頂上張望窃判。 院中可真熱鬧,春花似錦喇闸、人聲如沸袄琳。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽唆樊。三九已至,卻和暖如春刻蟹,著一層夾襖步出監(jiān)牢的瞬間逗旁,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工舆瘪, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留片效,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓英古,卻偏偏與公主長得像淀衣,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子召调,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評論 2 355

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