服務(wù)近2000家企業(yè),依托一系列實踐中打磨過的技術(shù)和產(chǎn)品,根據(jù)企業(yè)的具體業(yè)務(wù)問題和需求,針對性的提供各行業(yè)大數(shù)據(jù)解決方案。
WEB移動頁面(HTML5)自適應(yīng)手機屏幕方法總結(jié)
來源:未知 時間:2018-11-17 瀏覽次數(shù):293次
WEB移動頁面(HTML5)自適應(yīng)手機屏幕方法總結(jié),隨著移動手機的廣泛使用,開發(fā)高質(zhì)量的移動端前端界面不僅會提高產(chǎn)品及應(yīng)用的用戶體驗而且更能體現(xiàn)開發(fā)團隊的技術(shù)實力,應(yīng)用的前端界面直接影響到用戶對產(chǎn)品的第一感覺,為了幫助大家做好手機端html5的兼容總結(jié)4中常用的方法
1、使用meta標(biāo)簽:viewport
1、使用meta標(biāo)簽:viewport
H5移動端頁面自適應(yīng)普遍使用的方法,理論上講使用這個標(biāo)簽是可以適應(yīng)所有尺寸的屏幕的,但是各設(shè)備對該標(biāo)簽的解釋方式及支持程度不同造成了不能兼容所有瀏覽器或系統(tǒng)。
viewport 是用戶網(wǎng)頁的可視區(qū)域。翻譯為中文可以叫做"視區(qū)"。
手機瀏覽器是把頁面放在一個虛擬的"窗口"(viewport)中,通常這個虛擬的"窗口"(viewport)比屏幕寬,這樣就不用把每個網(wǎng)頁擠到很小的窗口中(這樣會破壞沒有針對手機瀏覽器優(yōu)化的網(wǎng)頁的布局),用戶可以通過平移和縮放來看網(wǎng)頁的不同部分。
viewport標(biāo)簽極其屬性:
<meta name="viewport" content="width=device-width,initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
每個屬性的詳細(xì)介紹:
2、使用css3單位rem
rem是CSS3新增的一個相對單位(root em,根em),使用rem為元素設(shè)定字體大小時,是相對大小,但相對的只是HTML根元素。通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。
目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對于不支持它的瀏覽器多寫一個絕對單位的聲明。這些瀏覽器會忽略用rem設(shè)定的字體大小。下面就是一個例子:
p {font-size:14px; font-size:.875rem;}
默認(rèn)html的font-size是16px,即1rem=16px,如果某div寬度為32px你可以設(shè)為2rem。
通常情況下,為了便于計算數(shù)值則使用62.5%,即默認(rèn)的10px作為基數(shù)。當(dāng)然這個基數(shù)可以為任何數(shù)值,視具體情況而定。設(shè)置方法如下:
Html{font-size:62.5%(10/16*100%)}
具體不同屏幕下的規(guī)則定義,即基數(shù)的定義方式:可以通過CSS定義,不同寬度范圍里定義不同的基數(shù)值,當(dāng)然也可以通過js一次定義方法如下:
<script type="text/javascript"> (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';//其中“20”根據(jù)你設(shè)置的html的font-size屬性值做適當(dāng)?shù)淖兓?/span> }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false); })(document, window); </script>
3、使用媒體查詢
媒體查詢也是css3的方法,我們要解決的問題是適應(yīng)手機屏幕,這個媒體查詢正是為解決這個問題而生。
媒體查詢的功能就是為不同的媒體設(shè)置不同的css樣式,這里的“媒體”包括頁面尺寸,設(shè)備屏幕尺寸等。
例如:如果瀏覽器窗口小于 500px, 背景將變?yōu)闇\藍(lán)色:
@media only screen and (max-width: 500px) { body { background-color: lightblue; } }
4、使用百分比
百分比指的是父元素,所有百分比都是這樣的。子元素寬度50%,那么父元素的寬度就是100%;
所以body默認(rèn)寬度是屏幕寬度(PC中指的是瀏覽器寬度)子孫元素按百分比定位(或指定尺寸)就可以了,這只適合布局簡單的頁面,復(fù)雜的頁面實現(xiàn)很困難。
以上四種方法并不是任何一種單獨使用就能完全解決屏幕兼容性問題,對于一個復(fù)雜的應(yīng)用大多會結(jié)合使用已達(dá)到最完美的兼容效果
以上四種方法并不是任何一種單獨使用就能完全解決屏幕兼容性問題,對于一個復(fù)雜的應(yīng)用大多會結(jié)合使用已達(dá)到最完美的兼容效果

掃一掃