1. 程式人生 > >移動端前端開發與pc端前端開發的區別

移動端前端開發與pc端前端開發的區別

關於移動端:
1、iPhone上submit按鈕bug:iPhone上的控制元件(<button>、<input>之類的)若不寫-webkit-appearance: none; 的話,就算你已經做好了控制元件的樣式,iPhone還是會使用自身預設的樣式。
2、移動端的自動播放功能:移動端瀏覽器大部分是禁用video和audio的autoplay功能,並且,很多移動瀏覽器也不支援首次js呼叫play方法進行播放。(此段內容摘抄自百度回答~)
3、手機端的字型顯示問題:手機端文字字的大小也有點不一樣,iPhone上最小字型可以顯示10px,安卓大部分手機由於不是高清顯示屏,畫素不夠只能最小顯示12px的字型。編寫的時候需要注意。
4、移動端裝置的解析度:iPhone裝置解析度寬度分別為640、750、828,我們這裡現在的設計稿一般是使用750的寬度,實際開發時需要將寬高減半,包括字型(字型在小於24px的情況是需要與設計師確認是否為系統字,減半後安卓在字型小於10px時會按照12px大小顯示)

另外寫幾點響應螢幕大小的建議和方法:
1、由於現在手機螢幕多種多樣,想要相容所有裝置所需要開發的經驗必須非常豐富,對設計師的要求也非常高,如果是初學或者開發經驗較少,可將裝置分為手機、平板、PC三種頁面來寫。
2、寬度的響應:寬度的響應最近使用的最多的就是類似以下這種寫法
width:calc(100% - 10px);
width:-webkit-calc(100% - 10px);
width:-moz-calc(100% - 10px);
好處是可以很好的控制佈局,把已知的寬度和整列寬度結合在一起使用,方便設定位置。
另外有些比較奇葩的手機遊覽器可能不相容css3的屬性,這時你可以使用以下程式碼來加強你程式碼的健壯性
@media screen and (max-width: 355px) {         //寬度小於355px時
    ...                                        //新增屬性
}

3、圖片的處理:由於各個裝置的解析度不同,理論上需要切出不同裝置大小的圖片,並且判斷當前裝置的解析度再呼叫相對應的圖片。但操作起來實在是過於困難,所以一般都是使用同一張圖片來顯示。

我來說說calc()的相容問題:
calc()屬性也是近兩個月才使用的,目前僅有一臺安卓的測試機放到我們自制的app平臺上使用時無法讀取該樣式,該機器在自帶的遊覽器內看是可以正常顯示的。我們的處理方法是在使用calc()的上面寫上普通的樣式,例如:
width:95%;
width:calc(100% - 10px);
width:-webkit-calc(100% - 10px);
width:-moz-calc(100% - 10px);

當遊覽器無法讀取樣式時會使用最上面的widht:95%;這樣會與實際設計稿有些許出入,所以使用時謹慎對待~