2、html5標籤的使用
3、放棄css float屬性
在專案開發過程中可以會遇到內容排列排列顯示的布局,假如你遇見這樣的視覺稿,哥建議你放棄float
,可以直接使用display:block;
4、利用css3邊框背景屬性
這個按鈕有圓角效果,有內發光效果還有高光效果,這樣的按鈕使用css3寫是無法寫出來的,當然圓角可以使用css3來寫,但高光和內發光卻無法使用css3編寫,這個時候你不妨使用-webkit-border-image
來定義這個按鈕的樣式。-webkit-border-image
就個很複雜的樣式屬性。
5、塊級化a標籤
請保證將每條資料都放在乙個a標籤中,為何這樣做?因為在觸控手機上,為提公升使用者體驗,盡可能的保證使用者的可點選區域較大。
6、自適應布局模式
在編寫css時,我不建議前端工程師把容器(不管是外層容器還是內層)的寬度定死。為達到適配各種手持裝置,我建議前端工程師使用自適應布局模式(支付寶採用了自適應布局模式),因為這樣做可以讓你的頁面在ipad、itouch、ipod、iphone、android、web safarik、chrome都能夠正常的顯示,你無需再次考慮裝置的解析度。
7、學會使用webkit-box
上一節,我們說過自適應布局模式,有些同學可能會問:如何在移動裝置上做到完全自適應呢?很感謝webkit為display屬性提供了乙個webkit-box
的值,它可以幫助前端工程師做到盒子模型靈活控制。
8、如何去除android平台中對郵箱位址的識別
9、如何去除ios和android中的輸入url的控制項條
settimeout(scrollto,0,0,0)
;
請注意,這句**必須放在window.onload
裡才能夠正常的工作,而且你的當前文件的內容高度必須是高於視窗的高度時,這句**才能有效的執行。
10、如何禁止使用者旋轉裝置
我曾經也想禁止使用者旋轉裝置,也想實現像某些客戶端那樣:只能在肖像模式或景觀模式下才能正常執行。但現在我可以很負責任的告訴你:別想了!在移動版的webkit中做不到!
ios已經禁止開發者阻止orientationchange
事件,那android呢?對不起,我沒有找到任何資料說android禁止開發者阻止瀏覽器orientationchange
事件,但是在android平台,確實也是阻止不了的。
12、如何關閉ios中鍵盤自動大寫
我們知道在ios中,當虛擬鍵盤彈出時,預設情況下鍵盤是開啟首字母大寫的功能的,根據某些業務場景,可能我們需要關閉這個功能,移動版本webkit為input元素提供了autocapitalize
,通過指定autocapitalize="off"
來關閉鍵盤預設首字母大寫。
13、ios中如何徹底禁止使用者在新視窗開啟頁面
有時我們可能需要禁止使用者在新視窗開啟頁面,我們可以使用a標籤的target="_self"
來指定使用者在新視窗開啟,或者target
屬性保持空,但是你會發現ios的使用者在這個鏈結的上方長按3秒鐘後,ios會彈出乙個列表按鈕,使用者通過這些按鈕仍然可以在新視窗開啟頁面,這樣的話,開發者指定的target屬性就失效了,但是可以通過指定當前元素的-webkit-touch-callout
樣式屬性為none來禁止ios彈出這些按鈕。這個技巧僅適用ios對於android平台則無效。
14、ios中如何禁止使用者儲存\複製
我們在第13條技巧中提到元素的-webkit-touch-callout
屬性,同樣為乙個img標籤指定-webkit-touch-callout:none
,這樣使用者就無法儲存\複製你的了。
15、ios中如何禁止使用者選中文字
我們通過指定文字標籤的-webkit-user-select:none
便可以禁止ios使用者選中文字。
16、ios中如何獲取滾動條的值
桌面瀏覽器中想要獲取滾動條的值是通過document.scrolltop
和document.scrollleft
得到的,但在ios中你會發現這兩個屬性是未定義的,為什麼呢?因為在ios中沒有滾動條的概念,在android中通過這兩個屬性可以正常獲取到滾動條的值,那麼在ios中我們該如何獲取滾動條的值呢?
通過window.scrolly和window.scrollx我們可以得到當前視窗的y軸和x軸滾動條的值。
17、如何解決盒子邊框溢位
當你指定了乙個塊級元素時,並且為其定義了邊框,設定了其寬度為100%。在移動裝置開發過程中我們通常會對文字框定義為寬度100%,將其定義為塊級元素以實現全屏自適應的樣式,但此時你會發現,該元素的邊框(左右)各1個畫素會溢了文件,導致出現橫向滾動條,為解決這一問題,我們可以為其新增乙個特殊的樣式-webkit-box-sizing:border-box;
用來指定該盒子的大小包括邊框的寬度。
18、如何解決android 2.0以下平台中圓角的問題
如果大家夠細心的話,在做wap站點開發時,大家應該會發現android 2.0以下的平台中問題特別的多,比如說邊框圓角這個問題吧。
在對乙個元素定義圓角時,為完全相容android 2.0以下的平台,我們必須要按照以下技巧來定義邊框圓角:
-webkit
這個字首必須要加上(在ios中,你可以不加,但android中一定要加);
如果對針對邊框做樣式定義,比如border:1px solid #000;
那麼-webkit-border-radius
這屬性必須要出現在border
屬性後。
假如我們有這樣的視覺元素,左上角和右上角是圓角時,我們必須要先定義全域性的(4個角的圓角值)-webkit-border-radius:5px;
然後再依次的覆蓋左下角和右下角,-webkit-border-bottom-left-radius:0;-webkit-border-bottom-right-border:0;
否則在android 2.0以下的平台中將全部顯示直角,還有記住!-webkit
這個字首一定要加上!
19、如何解決android平台中頁面無法自適應
雖然你的html和css都是完全自適應的,但有一天如果你發現你的頁面在android中顯示的並不是自適應的時候,首先請你確認你的head標籤中是否包含以下meta標籤:
如果有的話,那請你再仔細的看清楚有沒有這個屬性的值width=device-width
,如果沒有請立即加上吧!
20、如何解決ios 4.3版本中safari對頁面中5位數字的自動識別和自動新增樣式
新的ios系統也就是4.3版本,公升級後對safari造成了乙個bug:即使你新增了如下的meta標籤,safari仍然會對頁面中的5位連續的數字進行自動識別,並且將其重新渲染樣式,也就是說你的css對該標籤是無效的。
我們可以用乙個比較齷齪的辦法來解決。比如說支付寶wap站點中顯示金額的標籤,我們都做了如下改寫:
95009.00
移動端注意事項
移動端 1,高度不是按百分比設定,而是直接設定高度px或者em,百分比容易變形 2,寬度按照百分比來衡量 3,一般父級div不直接設定寬高,而是由子級div撐起來 4,對相同元素不同機型樣式適配用 查詢,即 media 推薦文章 1 查詢1 2 查詢25,如何讓子級div相對於父級div垂直居中 p...
移動開發注意事項
例如 給div 加邊框 或者加padding,左滑才能看到右邊盡頭 加上樣式box sizing border box 但是對於外邊距margin無效 less是一種css語言的預處理器。通俗的說,css預處理器是一種專門編寫css 的語言 工具 通過less來編寫css 變得更靈活,更高效,更容易...
Access 轉 SQLite 注意事項
最近將乙個程式從access修改為sqlite,需要調整的地方整理如下。access 中可以直接使用數字開頭的表名稱,sqlite中不可以直接使用,表名要加雙引號,例如 select from 1table 1table前後要加雙引號,access中不用加雙引號 sqlite中沒有 now 函式,要...