亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

移動(dòng)開發(fā)之自適應(yīng)手機(jī)屏幕寬度

 更新時(shí)間:2016年11月23日 15:21:25   投稿:lqh  
這篇文章主要介紹了移動(dòng)開發(fā)之自適應(yīng)手機(jī)屏幕寬度的相關(guān)資料,網(wǎng)上關(guān)于這方面的文章有很多,重復(fù)的東西本文不再贅述,僅提供思路,并解釋一些其他文章講述模糊的地方,需要的朋友可以參考下

移動(dòng)開發(fā)之自適應(yīng)手機(jī)屏幕寬度

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

首先解釋該標(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è)標(biāo)簽的使用需要先百度一下。

解釋:content中的“width” 這個(gè)width指的是什么寬度,我看過的文章對(duì)這個(gè)都沒有解釋的很清楚,有幾個(gè)備選:虛擬窗口的寬度、手機(jī)屏幕的寬度、還是頁面的寬度等等?經(jīng)試驗(yàn)這個(gè)指的是虛擬窗口的寬度。了解寬度之后,對(duì)后續(xù)的各種scale,就應(yīng)該知道是誰與誰的比例,是 虛擬窗口寬度 / 頁面寬度,這樣就會(huì)有問題出現(xiàn)安卓設(shè)備尺寸差異很大光主流的就有寬度為 320 480 720 1080 等各種尺寸而以上標(biāo)簽只能支持一種尺寸,當(dāng)然有些瀏覽器會(huì)自動(dòng)縮放使其適應(yīng)屏幕,但這不是統(tǒng)一標(biāo)準(zhǔn),正確的做法是用js動(dòng)態(tài)生成此標(biāo)簽,當(dāng)然,應(yīng)該先獲取屏幕尺寸。

對(duì)于此標(biāo)簽還有以下需要分享:

1)、user-scalable=no就一定可以保證頁面不可以縮放嗎?NO,有些瀏覽器不吃這一套,還有一招就是minimum-scale=1.0, maximum-scale=1.0 最大與最小縮放比例都設(shè)為1.0就可以了。

2)、initial-scale=1.0   初始縮放比例受user-scalable控制嗎?不一定,有些瀏覽器會(huì)將user-scalable理解為用戶手動(dòng)縮放,如果user-scalable=no,initial-scale將無法生效。

3)、手機(jī)頁面可以觸摸移動(dòng),但是如果有需要禁止此操作,就是頁面寬度等于屏幕寬度是頁面正好適應(yīng)屏幕才可以保證頁面不能移動(dòng)。

4)、如果頁面是經(jīng)過縮小適應(yīng)屏幕寬度的,會(huì)出現(xiàn)一個(gè)問題,當(dāng)文本框被激活(獲取焦點(diǎn))時(shí),頁面會(huì)放大至原來尺寸。

以上是使用viewport標(biāo)簽的一些小體會(huì),分享給大家。

2、第二種自適應(yīng)屏幕尺寸的方法是將頁面做成980寬度,在沒有viewport標(biāo)簽的情況下,移動(dòng)設(shè)備屏幕范圍會(huì)顯示頁面980的寬度,如果頁面大于980,則在屏幕范圍內(nèi)顯示頁面一部分,如果頁面小于980,則頁面居中兩側(cè)顯示空白,那么你猜,如果頁面寬度等于980會(huì)出現(xiàn)什么情況呢?

3、百分比法,首先應(yīng)明確一個(gè)概年,CSS中的百分比中的百指的是什么,我告訴你指的是父元素,所有百分比都是這樣的。子元素寬度50%,那么父元素的寬度就是百,子元素的padding-left:50%,父元素的寬度是百,子元素的margin-top:20%,那么父元素的高是百。所以body默認(rèn)寬度是屏幕寬度(PC中指的是瀏覽器寬度)子孫元素按百分比定位(或指定尺寸)就可以了,這只適合布局簡單的頁面,復(fù)雜的頁面實(shí)現(xiàn)很困難。

4、使用css3單位rem,有人這樣解釋rem,root-em,就是根部的em,想必em大家都懂的,那么rem就是將根節(jié)點(diǎn)html的font-size的值作為整個(gè)頁面的基準(zhǔn)尺寸,默認(rèn)html的font-size是16px,即1rem=16px,如果某div寬度為32px你可以設(shè)為2rem。當(dāng)我們把html的font-size設(shè)為20px時(shí),1rem=20px,那么32px=1.6rem了。到這里我們也就了解了rem的用法了,那么怎么用rem來實(shí)現(xiàn)不同尺寸屏幕的自適應(yīng)呢?在頁面載入開始時(shí)首先判斷window的寬度(是window的寬度($(window).width()),不是屏幕分辯率的寬度(screen.width),兩者的差別請(qǐng)自行查閱),假設(shè)寬度為W,一個(gè)div在寬度為640px的設(shè)計(jì)稿的下的寬度為dW1,這樣如果html的font-size為100px,那么這個(gè)div的寬度用rem表示是多少呢?計(jì)算:div寬度dW2=dW1/100,px與rem之間很好換算,除以100就可以,這是假定屏幕寬度為640的,而不同寬度的屏幕怎么處理,為了能保證換算容易那就要為html設(shè)置一個(gè)合適的font-size,計(jì)算:100 / 640 = fontSize / W, fontSize = W / 640 * 100 = W / 6.4;

解釋一下為什么把100作為一個(gè)縮放比例,用10或1不是更方便嗎,這是因?yàn)榇蠖鄶?shù)瀏覽器font-size的最小值為12px,所以只能用100了。

5、媒體查詢,媒體查詢也是css3的方法,我們要解決的問題是適應(yīng)手機(jī)屏幕,這個(gè)媒體查詢正是為解決這個(gè)問題而生,媒體查詢的功能就是為不同的媒體設(shè)置不同的css樣式,這里的“媒體”包括頁面尺寸,設(shè)備屏幕尺寸等,比如我們要為寬度小于480px的頁面中的class="icon"的元素設(shè)置樣式,可以這樣寫,@media screen and (max-width=480px) {.icon{ some styles }};這里僅介紹這種思路,關(guān)于媒體查詢的詳細(xì)用法請(qǐng)參閱css手冊(cè)。

  之前介紹一篇文章是:響應(yīng)式web實(shí)戰(zhàn)總結(jié) 已經(jīng)介紹了一些知識(shí)點(diǎn),這里就不多介紹了;我們這邊來了解下如何使用媒體查詢寫不同的css樣式;針對(duì)響應(yīng)式web設(shè)計(jì)開發(fā),使用媒體查詢來適應(yīng)不同的手機(jī)屏幕樣式開發(fā)時(shí),我們需要寫不同的樣式,為此我們來分享下我個(gè)人開發(fā)響應(yīng)式web頁面的經(jīng)驗(yàn);針對(duì)目前手機(jī)的獨(dú)立像素有320,360,384,400,還有iphone6+是414的獨(dú)立像素,因此我們只需要針對(duì)目前這幾種匹配即可;如下:

         1.針對(duì)手機(jī)獨(dú)立像素是360 ~399等屏幕的寬度

  /*

   * 但是邊距 字體大小等還是安裝360px來計(jì)算

   */

   @media (min-width:360px) and (max-width: 399px) {}

     2. 針對(duì)手機(jī)獨(dú)立像素是320~359之間的

 /* min-width:320px

   * 針對(duì)設(shè)備獨(dú)立像素為320px 的css

   * min-width:320 和 max-width:359之間

   */  @media (min-width: 320px) and (max-width:359px){}

      3. 針對(duì)設(shè)備獨(dú)立像素為400px以上的樣式。

 /*

    * 針對(duì)設(shè)備獨(dú)立像素為400px,邊距等等都按400px來計(jì)算

    */

   @media (min-width: 400px) and (max-width:450px){}

      4. 針對(duì)設(shè)備獨(dú)立像素為640px ~ 999px的css

 /* min-width:640px

    * 針對(duì)設(shè)備獨(dú)立像素為640px 的css

    * min-width:640 和 max-width:999之間

    * 邊距等按640px來計(jì)算

    */

   @media (min-width: 640px) and (max-width:999px){}

      5. 但是在PC端,我們?yōu)榱诉m應(yīng)PC端,所以針對(duì)寬度為1000以上也做一個(gè)顯示處理。

 /* 最小寬度1000樣式

   *為了適應(yīng)PC端 所以PC端在設(shè)計(jì)時(shí)候 默認(rèn)以1000px來設(shè)計(jì)的

   */

   @media screen and (min-width:1000px) {}

一:使用rem來設(shè)置字體

       為了方便計(jì)算字體,我們來設(shè)置瀏覽器10px,我們都知道瀏覽器默認(rèn)的像素是16px,因此我們需要對(duì)html{font-size:62.5%;} // 10 / 16 = 62.5%;

首先假如設(shè)計(jì)搞在移動(dòng)端上是按照750px設(shè)計(jì)稿上的話,假如字體在750px下字體大小我們使用rem來寫大?。荒敲此麄兊淖煮w大小在各個(gè)獨(dú)立像素下如下計(jì)算:

針對(duì)設(shè)備獨(dú)立像素為640px ~ 999px的css

 @media (min-width:640px) and (max-width: 999px) {

      /* 750/640 = 1.17*/

      html{font-size: 53.42%;} /*62.5% / 1.17 */

   }

   @media (min-width: 400px) and (max-width:450px){

     /* 750 / 400 = 1.875 */

     html{font-size:33.33% } /* 62.5% / 1.875 */

   }

   @media (min-width:360px) and (max-width: 399px) {

      /* 750 / 360 = 2.08 */

     html{font-size:30%}  /* 62.5% / 2.08 */

   }

   @media (min-width: 320px) and (max-width:359px){

     /* 750/320 = 2.34 */

     html{font-size: 26.7%} /* 62.5 / 2.34 */

   }

二: 針對(duì)寬度,高度,background-size, margin及padding的計(jì)算方法;

     假如在750px下的寬度是132px;高度是132px;background-size:132px 132px; margin:20px;Padding:20px;

     針對(duì)設(shè)備獨(dú)立像素為640px ~ 999px的css

  @media (min-width:640px) and (max-width: 999px) {

      /* 750/640 = 1.17*/

      html{font-size: 53.42%;} /*62.5% / 1.17 */

      // 下面的屬性都是 本身的像素 / 1.17 得來的

     width: 112.82px;   // 132 / 1.17

     height:112.82px;   // 132 / 1.17

     background-size:112.82px 112.82px; // 132 / 1.17

     margin:17.09px;  // 20 / 1.17

     padding:17.09px; // 20 / 1.17

   }

  @media (min-width: 400px) and (max-width:450px){

     /* 750 / 400 = 1.875 */

     html{font-size:33.33% } /* 62.5% / 1.875 */

     // 下面的屬性都是 本身的像素 / 1.875 得來的

     width: 70.4px;   // 132 / 1.875

     height: 70.4px;   // 132 / 1.875

     background-size: 70.4px 70.4px; // 132 / 1.875

     margin:10.67px;  // 20 / 1.875

     padding: 10.67px; // 20 / 1.875

  }

  @media (min-width:360px) and (max-width: 399px) {

     /* 750 / 360 = 2.08 */

     html{font-size:30%}  /* 62.5% / 2.08 */

     // 下面的屬性都是 本身的像素 / 2.08 得來的

     width: 63.46px;   // 132 / 2.08

     height: 63.46px;   // 132 / 2.08

     background-size: 63.46px 63.46px; // 132 / 2.08

     margin:9.62px;  // 20 / 2.08

     padding: 9.62px; // 20 / 2.08

  }

  @media (min-width: 320px) and (max-width:359px){

     /* 750/320 = 2.34 */

    html{font-size: 26.7%} /* 62.5 / 2.34 */

    width: 56.41px;   // 132 / 2.34

    height: 56.41px;   // 132 / 2.34

    background-size: 56.41px 56.41px; // 132 / 2.34

    margin:8.55px;  // 20 / 2.34

    padding: 8.55px; // 20 / 2.34

  }

但是有時(shí)候在小屏幕下字體太小了,使用戶看起來太吃力,我們可以針對(duì)小屏幕下適當(dāng)?shù)舸笠稽c(diǎn)即可;

感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!

相關(guān)文章

最新評(píng)論