移動端web開發的一些知識點


整理一下自己平時移動端web開發中遇到的問題,也參考一下前輩的一些總結

1、最常見的要數1像素邊框了

因為Retine屏的分辨率始終是普通屏幕的2倍,1px的邊框在dpr=2的retina屏下會顯示成2px。

但在IOS8中,已經支持0.5px了,那就意味着, 在devicePixelRatio=2的時候,我們可以使用css設置為0.5。

平時用的比較多的也是使用transform了:

div{
    height:1px;
    background:#000;
    -webkit-transform: scaleY(0.5);
    -webkit-transform-origin:0 0;
    overflow: hidden;
}

可參考:

走向視網膜(Retina)的Web時代

移動web 1像素邊框 瞧瞧大公司是怎么做的

 

2、CSS Sticky Footer布局

大概就是這個意思:如果頁面內容不夠長的時候,頁腳塊粘貼在視窗底部;如果內容足夠長時,頁腳塊會被內容向下推送。

通過設置margin-top、padding-bottom來實現

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        html, body, #wrap {height: 100%;margin: 0;padding: 0}
        body > #wrap {height: auto; min-height: 100%;background-color: blue;}
        #main {padding-bottom: 150px;} 
        #footer {position: relative;margin-top: -150px; height: 150px;clear:both;background-color: red;}
    </style>
</head>
<body>
<div id="wrap">
    <div id="main" class="clearfix">
        <div id="content"></div>
        <div id="side"></div>
    </div>
</div>
<div id="footer">
</div>
</body>
</html>

如果主體是使用懸浮布局,還得解決一些瀏覽器的兼容問題(清除浮動)。

參考:

CSS秘密花園: Sticky foote

 

3、flex布局

只能說flex布局真的很好用

移動端全兼容的flexbox速成班

flex

 

4、移動端的meta

移動前端開發中添加一些webkit專屬的HTML5頭部標簽,幫助瀏覽器更好解析html代碼,更好地將移動web前端頁面表現出來。讓普通移動網頁被添加到主屏幕后,擁有一些類native的功能

可以查看天貓、淘寶、網易、京東、百度等等移動端的一些設置

HTML head 頭標簽

 

5、移動端跟PC端的區別

適配不同大小的屏幕;
兼容安卓的眾多版本;
有些css屬性在手機上會不生效
手機上click事件有延遲

可以說:移動端需要關注的主要是瀏覽器;視口;事件等等。

關於瀏覽器:

iOS下的瀏覽器就不用多說了,是因為iOS下的瀏覽器相對安卓而言不混亂。而且,蘋果不允許安裝其他渲染引擎。不過基於代理瀏覽器的特性,蘋果上可以安裝代理瀏覽器(但也不是所有代理瀏覽器都可以)。所以在蘋果手機上測試web頁面時,我們一般測試Safari瀏覽器即可,必要時可以測試代理瀏覽器。

對於安卓的話,Web開發者在面對安卓時遇到的問題是,不像其它平台,安卓的內置瀏覽器的情況很復雜,受到多方面因素的影響,正如前面所提到的,就瀏覽器而言,不同的廠商,不同的品牌手機,不同的操作系統,不同的內置瀏覽器,甚至同一種瀏覽器的不同版本都有可能對於移動端的某一些樣式或事件的支持不同。而安卓平台的開放性,讓更多的手機廠商,瀏覽器廠商都可以開發自己的一個瀏覽器來增加設備或操作平台的價值。這也就造就了安卓市場下的各瀏覽器的繁復和差異化。(例如,兩個不同手機廠商的內置瀏覽器在針對同一個web樣式上做了不同優化處理)。不過還好,大多數都是基於webkit,但是測試的時候還是要在主流的瀏覽器都測試一下。

參考:http://www.cnblogs.com/chunyangji/archive/2016/08/16/5776692.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM