溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

HTML5移動(dòng)頁面自適應(yīng)手機(jī)屏幕的方法有哪些

發(fā)布時(shí)間:2022-03-15 15:27:59 來源:億速云 閱讀:864 作者:iii 欄目:web開發(fā)

今天小編給大家分享一下HTML5移動(dòng)頁面自適應(yīng)手機(jī)屏幕的方法有哪些的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來了解一下吧。

  1、使用meta標(biāo)簽:viewport

  H5移動(dòng)端頁面自適應(yīng)普遍使用的方法,理論上講使用這個(gè)標(biāo)簽是可以適應(yīng)所有尺寸的屏幕的,但是各設(shè)備對(duì)該標(biāo)簽的解釋方式及支持程度不同造成了不能兼容所有瀏覽器或系統(tǒng)。

  viewport 是用戶網(wǎng)頁的可視區(qū)域。翻譯為中文可以叫做"視區(qū)"。

  手機(jī)瀏覽器是把頁面放在一個(gè)虛擬的"窗口"(viewport)中,通常這個(gè)虛擬的"窗口"(viewport)比屏幕寬,這樣就不用把每個(gè)網(wǎng)頁擠到很小的窗口中(這樣會(huì)破壞沒有針對(duì)手機(jī)瀏覽器優(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"/>

  每個(gè)屬性的詳細(xì)介紹:

  屬性名取值描述Width</td>正整數(shù) 或?device-Width</td>定義視口的寬度,單位為像素Height</td>正整數(shù) 或?device-Height</td>定義視口的高度,單位為像素,一般不用initial-scale[0.0-10.0]定義初始縮放值minimum-scale[0.0-10.0]定義縮小最小比例,它必須小于或等于maximum-scale設(shè)置maximum-scale[0.0-10.0]定義放大最大比例,它必須大于或等于minimum-scale設(shè)置user-scalableyes/no定義是否允許用戶手動(dòng)縮放頁面,默認(rèn)值yes

  2、使用css3單位rem

  rem是CSS3新增的一個(gè)相對(duì)單位(root em,根em),使用rem為元素設(shè)定字體大小時(shí),是相對(duì)大小,但相對(duì)的只是HTML根元素。通過它既可以做到只修改根元素就成比例地調(diào)整所有字體大小,又可以避免字體大小逐層復(fù)合的連鎖反應(yīng)。

  目前,除了IE8及更早版本外,所有瀏覽器均已支持rem。對(duì)于不支持它的瀏覽器多寫一個(gè)絕對(duì)單位的聲明。這些瀏覽器會(huì)忽略用rem設(shè)定的字體大小。下面就是一個(gè)例子:

  p {font-size:14px; font-size:.875rem;}

  默認(rèn)html的font-size是16px,即1rem=16px,如果某div寬度為32px你可以設(shè)為2rem。

  通常情況下,為了便于計(jì)算數(shù)值則使用62.5%,即默認(rèn)的10px作為基數(shù)。當(dāng)然這個(gè)基數(shù)可以為任何數(shù)值,視具體情況而定。設(shè)置方法如下:

  Html{font-size:62.5%(10/16*100%)}

  具體不同屏幕下的規(guī)則定義,即基數(shù)的定義方式:可以通過CSS定義,不同寬度范圍里定義不同的基數(shù)值,當(dāng)然也可以通過js一次定義方法如下:

  <script type="text/javascript">

 ?。╢unction (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ù)淖兓?/p>

  };

  if (!doc.addEventListener) return;

  win.addEventListener(resizeEvt, recalc, false);

  doc.addEventListener('DOMContentLoaded', recalc, false);

  })(document, window);

  </script>

  3、使用媒體查詢

  媒體查詢也是css3的方法,我們要解決的問題是適應(yīng)手機(jī)屏幕,這個(gè)媒體查詢正是為解決這個(gè)問題而生。

  媒體查詢的功能就是為不同的媒體設(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中指的是瀏覽器寬度)子孫元素按百分比定位(或指定尺寸)就可以了,這只適合布局簡(jiǎn)單的頁面,復(fù)雜的頁面實(shí)現(xiàn)很困難。

以上就是“HTML5移動(dòng)頁面自適應(yīng)手機(jī)屏幕的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI