手機端的html頁面就像回到了最早的純文本時代~~
沒有JS,只有單純的div+css~容易上手,但是也有很多限制。不在技術上,更多的是一些適合手機屏幕的適配~
移動平臺有多種,iOS, Android, WP7, Sybian …
移動瀏覽器就更多,我的Android手機中裝了10款瀏覽器,分別是:原生google的,qq,UC,海豚,firefox,opera,天天,go,skyfire和x瀏覽器GL。
那么我們需要的適配多少呢?答案是 平臺數去乘以平臺版本號再乘以瀏覽器種類再乘以瀏覽器版本號~~無窮無盡啊
一些建議:僅限中低端適配
1. 盡量采用div+css結構,因為有些瀏覽器在有些平臺上的顯示是不支持table的。
2. css不要用float,不要用過多的偽類和absolute之類的position相關的東西。
3. form表單不要使用type為file的input。
4. 每行設計的時候最好數數pixel的個數(很容易計算的)
5. 被迫使用表格的話,那么請記住不要用rowspan或是colspan,部分android和sybian系統不支持。
6. 看一些已有的大型站點的手機wap站前端,去學習他們的標簽設計,畢竟小團隊或者個人開發資源有限,無法統計和適配多種手機。
7. 別搞wap啦,做好webapp和native,改行html5 + css3吧~~
另外對于觸摸屏的出現,在head中的meta多了很多的設定,比如viewport等。
下面貼一些html和css的小tip,希望有用。
1. 瀏覽器是忽視所有文檔中的tab,回車和空格的。
2. ..在<a>的路徑中代表上級目錄
3. 所有的路徑分隔符都是/
4. Block型元素前后都有換行,inline型元素則沒有,block型有<h1-h6>,<p>, <blockquote>,inline型有<a>,<em>,<img>,<q>等
5. Css的最近原則就是如果有多條css屬性匹配,那么按順序執行渲染,所有的conflict都被最后的規則解決。
6. Css的字體大小font-size指的是字體的高度,就是從最下端到最上端的距離。如果單位不是px而是%,那么指的是相比其他字體的大小倍數。如果父標簽是10px,那么子標簽應用了%或者em的就是父標簽的倍數關系。
7. Line-height其實是行間距
8. Html中每個元素可以被理解為一個box,而padding就是指元素內容與box的邊界之間的內間距。
9. 一個圖理解這些間距問題:
10. Id屬性是用來定義嚴格的單一元素的。你可以有很多個元素有相同的class屬性,但是id只能有一個。
11. Width屬性只聲明內容區域的寬度。Width的默認是auto。
12. 默認的padding是0px
13. 用空格分開的css表示的是父子關系,比如div h2{}就表示div下的h2如何如何。這種父子關系是相對的,不是直接關系,只要h2嵌套在div中就可以。直接的父子關系需要div > h2{}來指定。
14. Padding和margin的省略寫法:padding: a b c d是按照上右下左的順時針順序設定的。
15. Css優先級使用三位數排列法:000,是否有id,有則在第一位加1,是否有class或者偽類,有則在第二個數加類或偽類的個數,是否有元素名,有則在第三位加元素數。
16. 在flow中需要注意的一點是:水平的兩個元素的margin是二者之和,而垂直的情況則是二者中大的margin作為間隔。換句話說,inline元素之間的margin是二者之和,而block元素之間的margin是二者中的較大者。
17. Float會將元素剝離出頁面的flow,頁面其他block元素會在它之下,但是inline元素會自動和float元素的邊界分離。
18. 表格單元格之間的距離叫做border-spacing。