移動端開發的注意事項

一 meta標簽的使用

1.強制讓文檔的寬度與設備的寬度保持1:1,并且文檔最大的寬度比例是1.0,且不允許用戶點擊屏幕放大瀏覽;

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

width=device-width:寬度等于當前設備的寬度
intial-scale:頁面首次被顯示是可視區域的縮放比例,取值1.0則頁面按實際尺寸顯示,無任何縮放
maximum-scale=1.0, minimum-scale=1.0;可視區域的縮放級別,
maximum-scale用戶可將頁面放大的程序,1.0將禁止用戶放大到實際尺寸之上。
user-scalable:是否可對頁面進行縮放,no 禁止縮放

2.忽略頁面中的數字識別為電話號碼

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

3.忽略頁面中的郵箱格式為郵箱

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

4.

<meta name="apple-mobile-web-app-status-bar-style" content="black" />

二 關于單位的使用

用來適應不同的移動端屏幕尺寸;
Px像素。類似絕對單位。其實也是相對單位,相對于屏幕的分辨率;
Pt磅 點 打印的尺寸
Em 相對單位,相對于父級的font-size 1em=父級的font-size(直接的父級)
Rem相對單位,相對于根元素的font-size 1rem=根元素的font-size
Vw,vh相對單位,相對于屏幕的寬度和高度,1vw==1%屏幕的寬度

三 Js方法獲取HTMLfontsize

1.手動刷新

<script>
     var bw = (document.documentElement.clientWidth/7.2)+"px";
              //獲取屏幕寬度)除以7.2,添加上“px”,7.2是設計稿的寬度除以100后得到的值
     var htmlTag = document.getElementsByTagName("html")[0];        
                   //在文檔里面通過元素名來獲取元素,html
     htmlTag.style.fontSize=bw;  
     //把計算后的值復制給根元素的font-size;1rem=100px
</script>

2.自動刷新

<script>
         window.onload = function(){
         /*720代表設計師給的設計稿的寬度,你的設計稿是多少,就寫多少;100代表換算比例,這里寫100是
                           為了以后好算,比如,你測量的一個寬度是100px,就可以寫為1rem,以及1px=0.01rem等等*/
         getRem(640,100)
         };
         window.onresize = function(){
         getRem(640,100)
         };
         function getRem(pwidth,prem){
           var html = document.getElementsByTagName("html")[0];
           var oWidth = document.body.clientWidth || document.documentElement.clientWidth;
            html.style.fontSize = oWidth/pwidth*prem + "px";
}
        </script>

四 HTML5標簽的使用

在開始編寫webapp時,建議前端工程師使用HTML5,而放棄HTML4,因為HTML5可以實現一些HTML4中無法實現的豐富的WEB應用程序的體驗,可以減少開發者很多的工作量,當然了你決定使用HTML5前,一定要對此非常熟悉,要知道HTML5的新標簽的作用。比如定義一塊內容或文章區域可使用section標簽,定義導航條或選項卡可以直接使用nav標簽等等。

五 自適應布局模式

在編寫CSS時,使用自適應布局模式,因為這樣做可以讓你的頁面在ipad、itouch、ipod、iphone、android、web safarik、chrome都能夠正常的顯示,你無需再次考慮設備的分辨率。

六 響應式布局

響應式布局就是使用媒體查詢的方式,通過查詢瀏覽器的寬度,不同的寬度應用不同的樣式塊,每個樣式塊對應的是該寬度下的布局方式,從而實現響應式布局,響應式布局的頁面可以適配多種終端屏幕(pc、平板、手機)。

  • 什么是響應式?
    集中創建頁面的圖片排版大小,可以智能地根據用戶行為以及使用的設備環境(系統平臺、屏幕尺寸、屏幕定向等)進行相對應的布局。
    響應式網站布局的依據是:媒體查詢
  • 什么是媒體查詢?
    可以讓我們根據設備顯示器的特性(如視口寬度、屏幕比例、設備方向:橫向或縱向)為其設定CSS樣式,使用媒體查詢,可以在不改變頁面內容的情況下,為特定的一些輸出設備定制顯示效果。
    怎樣在CSS文件中寫CSS響應式媒體查詢
@media screen and (max-width:720px) and (min-width:320px)
{     body{
      background-color:red; 
  }  @media screen and (max-width:320px){
     body{
    background-color:blue; 
  } 
 }

七 彈性盒模型布局

Flex是flexinle Box的縮寫,意思是彈性布局;用來為盒模型提供最大的靈活性,任何一個容器都可以指定為flex布局。即:display:flex;
注:設置了flex布局后當前容器內子元素的float、clear、vertical-align屬性將全部消失

  • 確定子元素排列的方向: flex-direction:row | row-reverse|column|column-reserve
 flex-direction:row 默認子元素水平靠左排列
flex-direction:row-reverse  子元素靠右倒序排列,類似于右浮動
 flex-direction:column   豎排
flex-direction:column-reverse  倒序豎排

  • 元素超過父容器尺寸時是否換行: flex-wrap:nowrap|wrap|wrap-reverse
flex-wrap:nowrap; 子元素寬度超過父級寬度時,默認不換行  
flex-wrap:wrap; 子元素寬度超過父級寬度時,換行
flex-wrap:wrap-reserve; 子元素寬度超過父級寬度時,倒序換行 
  • 子元素的尺寸確定之后,用此屬性來設置flex-direction定義方向上的分布方式:justify-content:flex-start | flex-end | center | space-between | space-around
justify-content:flex-start  整體子元素靠左
justify-content:flex-end  整體子元素靠右
justify-content:center  整體子元素居中
justify-content:space-between  第一個子元素靠左頂格,最后一個子元素靠右頂格,中間子元素均分距離
justify-content:space-around  第一個子元素靠左的間距和最后一個子元素靠右的間距是中間子元素間距的一半,中間的元素等分間距。
  • 子元素的尺寸確定之后,用此屬性來設置flex-direction定義方向上的垂直方向的分布方式:align-items:flex-start | flex-end | center | baseline | stretch
align-items:flex-start  整體垂直靠上排列
align-items:flex-end  整體垂直靠下排列
align-items:center  整體子元素垂直居中(也可以使用margin或padding或定位來實現)
align-items:baseline  子元素內的文字底部對齊,如果文字大小不同,會導致子元素底部不對齊
align-items:stretch  如果子元素不設置高度,高度會被拉伸到和父元素高度相同(除去自身的margin)
  • 設置多行子元素在行方向上的對齊方式:align-content : flex-start | flex-end | center | space-between | space-between | space-around | stretch
align-content : flex-start  多行整體靠上排列
align-content : flex-end 多行整體靠下排列
align-content :center 多行整體居中排列
align-content:space-between  第一行子元素靠上頂格,最后一行子元素靠下頂格,中間行子元素等分垂直的間距
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 13,786評論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準。 注意:講述HT...
    kismetajun閱讀 27,588評論 1 45
  • 移動開發基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,507評論 0 6
  • H5移動端知識點總結 閱讀目錄 移動開發基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,604評論 0 26
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 1,788評論 0 2